首页 > 编程语言 >打卡信奥刷题(431)用C++信奥B3969[普及组/提高]B3969 [GESP202403 五级] B-smooth 数

打卡信奥刷题(431)用C++信奥B3969[普及组/提高]B3969 [GESP202403 五级] B-smooth 数

时间:2024-12-16 17:27:50浏览次数:5  
标签:10 信奥 int 30 smooth B3969 leq 打卡 106

[GESP202403 五级] B-smooth 数

题目描述

小杨同学想寻找一种名为 $ B $-smooth 数的正整数。

如果一个正整数的最大质因子不超过 $ B $,则该正整数为 $ B $-smooth 数。小杨同学想知道,对于给定的 $ n $ 和 $ B $,有多少个不超过 $ n $ 的 $ B $-smooth 数。

输入格式

第一行包含两个正整数 $ n $ 和 $ B $,含义如题面所示。

输出格式

输出一个非负整数,表示不超过 $ n $ 的 $ B $-smooth 数的数量。

样例 #1

样例输入 #1

10 3

样例输出 #1

7

提示

数据规模与约定

子任务得分$n \leq $ B B B
1 1 1 30 30 30 1 0 3 10^3 103 1 ≤ B ≤ 1 0 3 1 \leq B \leq 10^3 1≤B≤103
2 2 2 30 30 30 1 0 6 10^6 106 n ≤ B ≤ 1 0 6 \sqrt n \leq B \leq 10^6 n ​≤B≤106
3 3 3 40 40 40 1 0 6 10^6 106 1 ≤ B ≤ 1 0 6 1 \leq B \leq 10^6 1≤B≤106

对全部的测试数据,保证 1 ≤ n , B ≤ 1 0 6 1 \leq n, B \leq 10^6 1≤n,B≤106。

C++实现

#include <bits/stdc++.h>
using namespace std;
int a[1000010];
int ans;
int main() {
int n, b;
cin >> n >> b;
a[1] = 1;
for (int i = 2; i <= n; i++) {
if (!a[i]) {
for (int j = i; j <= n; j += i)
a[j] = i;
}
}
for (int i = 1; i <= n; i++) {
if (a[i] <= b)
ans++;
}
cout << ans;
return 0;
}

在这里插入图片描述

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

标签:10,信奥,int,30,smooth,B3969,leq,打卡,106
From: https://blog.csdn.net/rogeliu/article/details/144491963

相关文章

  • 腾讯文档自动打卡(西南交通大学每日晚归打卡)
    功能实现每日晚归打卡的自动打卡(需要提前登录电脑QQ)实现步骤:使用Chrome/Edge浏览器,自动登录,输入姓名,学号,自动定位(定位失败时尝试重新定位)使用方法直接双击运行main.exe即可$_{(大概率报毒,需要点击仍要运行)}$第一次运行需要输入姓名,学号,打卡的链接(不要输......
  • 新手学习C语言打卡8(数组)
    数组:数组:是一种容器,可以用来存储同种类数据类型的多个值数组的本质是地址数组的定义:数据类型数组名[长度]eg:intarr=[3];                   特点1.连续的空间特点2.一旦定义,长度不可变数组的初始化:数据类型数组名[长度]={数据值,数据值...}......
  • 每日力扣打卡93.复原IP地址
    题目:有效IP地址正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。例如:"0.1.2.201"和"192.168.1.1"是有效IP地址,但是"0.011.255.245"、"192.168.1.312"和"192.168@1.1"是无效IP地址。给定一个只包含数字的字符串s,用以表......
  • 打卡信奥刷题(408)用C++信奥B3884[普及组/提高] [信息与未来 2015] 加数
    [信息与未来2015]加数题目描述给出一个正整数nnn,在nnn的右边......
  • Java学习打卡-Day8
    抽象类与接口抽象方法只有声明,没有具体的实现。必须用abstract关键字进行修饰。抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),默认情况下为public。抽象类包含抽象方法的类。只是用abstract修饰的话也是抽象类。可......
  • 20241209打卡
    UML:现代软件开发中的建模利器引言在现代软件开发过程中,随着系统复杂度的增加,如何高效地描述、设计和沟通系统架构变得尤为重要。统一建模语言(UnifiedModelingLanguage,UML)作为一种图形化建模语言,提供了一种标准化的方法来可视化、构建和记录软件系统的结构和行为。本文将围绕UM......
  • 考研打卡(40)
    开局(40)开始时间 2024-12-09 19:54:44结束时间 2024-12-09 20:38:32学了两个小时,感觉学不完了,怎么是这么多数据结构对于一棵具有n个节点、度为4的树来说_________(中国农业大学2013年)A树的高度至多是n-3B树的高度至多是n-4C第i层上至多有4*(i-1)个节点D至少在某......
  • 每日力扣打卡143.重排链表
    题目:给定一个单链表L的头节点head,单链表L表示为:L0→L1→…→Ln-1→Ln请将其重新排列后变为:L0→Ln→L1→Ln-1→L2→Ln-2→…不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例1:输入:head=[1,2,3,4]输出:[1,4,2,3]示......
  • 打卡信奥刷题(382)用C++信奥B3693[普及组/提高] 数列前缀和 4
    数列前缀和4题目背景这次不是数列的问题了。题目描述给定一个nnn行mm......
  • 力扣打卡8:最长上升子序列
    链接:300.最长递增子序列-力扣(LeetCode)本题我开始想到的是dp,复杂度为O(n^2),这也是很经典的解法。看到进阶解法可以O(nlogn),想到可能是要用到二分,但是,我想到的是和map排序,再二分查找第一个比当前值小的数,再找比它小的所有数,中维护max序列,再塞到map中,可惜严格来讲还是O(n^2)......