试题名称: B-smooth 数 题面描述 小杨同学想寻找一种名为 B-smooth 数的正整数。 如果一个正整数的最大质因子不超过 B,则该正整数为 B-smooth 数。 小杨同学想知道,对于给定的 n 和 B ,有多少个不超过 n 的 B-smooth 数。 输入格式 第一行包含两个正整数 n,B,含义如题面所示。 输出格式 输出一个非负整数,表示不超过 n 的 B-smooth 数的数量。 样例1 样例解释 在不超过 10 的正整数中, 3-smooth 数有 ,共 7 个。 数据范围 对于全部数据,保证有。




正确答案:n,B=map(int,input().split());c=0\nfor x in range(1,n+1):\ny=x;m=1;d=2\nwhile d*d<=y:\nwhile y%d==0:m=d;y//=d\nd+=1\nif y>1:m=y\nif m<=B:c+=1\nprint(c)
试卷来源:202403 CCF-GESP编程能力等级认证Python五级真题