早教吧作业答案频道 -->其他-->
求幸运数C/C++代码?幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的“筛法”生成.首先从1开始写出自然数1,2,3,4,5,6,.1就是第一个幸运数.我们从2这个数开始.把所有序号能被2整除的
题目详情
求幸运数C/C++代码?
幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的“筛法”生成.
首先从1开始写出自然数1,2,3,4,5,6,.
1 就是第一个幸运数.
我们从2这个数开始.把所有序号能被2整除的项删除,变为:
1 _ 3 _ 5 _ 7 _ 9 .
把它们缩紧,重新记序,为:
1 3 5 7 9 ..这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去.注意,是序号位置,不是那个数本身能否被3整除!删除的应该是5,11,17,...
此时7为第3个幸运数,然后再删去序号位置能被7整除的(19,39,...)
最后剩下的序列类似:
1,3,7,9,13,15,21,25,31,33,37,43,49,51,63,67,69,73,75,79,...
本题要求:
输入两个正整数m n,用空格分开 (m < n < 1000*1000)
程序输出 位于m和n之间的幸运数的个数(不包含m和n).
例如:
用户输入:
1 20
程序输出:
5
例如:
用户输入:
30 69
程序输出:
8
幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的“筛法”生成.
首先从1开始写出自然数1,2,3,4,5,6,.
1 就是第一个幸运数.
我们从2这个数开始.把所有序号能被2整除的项删除,变为:
1 _ 3 _ 5 _ 7 _ 9 .
把它们缩紧,重新记序,为:
1 3 5 7 9 ..这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去.注意,是序号位置,不是那个数本身能否被3整除!删除的应该是5,11,17,...
此时7为第3个幸运数,然后再删去序号位置能被7整除的(19,39,...)
最后剩下的序列类似:
1,3,7,9,13,15,21,25,31,33,37,43,49,51,63,67,69,73,75,79,...
本题要求:
输入两个正整数m n,用空格分开 (m < n < 1000*1000)
程序输出 位于m和n之间的幸运数的个数(不包含m和n).
例如:
用户输入:
1 20
程序输出:
5
例如:
用户输入:
30 69
程序输出:
8
▼优质解答
答案和解析
static void isPrime(int start, int a[], int len)
{
\x09int k = start, num = a[start];
\x09for (int i = k; i < len; i++)
\x09{
\x09\x09if (i%num != 0) a[k++] = a[i];
\x09}
\x09if (num < len)isPrime(start + 1, a, k);
}
int main()
{
\x09int len = 100,kinds=0,a[100];
\x09int n=20,m=1;
\x09cin>> m >> n ;
\x09for (int i = 1; i < len; i++) a[i] = 2 * i - 1;
\x09isPrime(2, a, len);
\x09for (int i = 1; i\x09{
\x09\x09if (a[i]>m && a[i] < n) kinds++;
\x09\x09if (a[i] >= n) break;
\x09}
\x09cout << kinds << endl;
\x09return 0;
}
{
\x09int k = start, num = a[start];
\x09for (int i = k; i < len; i++)
\x09{
\x09\x09if (i%num != 0) a[k++] = a[i];
\x09}
\x09if (num < len)isPrime(start + 1, a, k);
}
int main()
{
\x09int len = 100,kinds=0,a[100];
\x09int n=20,m=1;
\x09cin>> m >> n ;
\x09for (int i = 1; i < len; i++) a[i] = 2 * i - 1;
\x09isPrime(2, a, len);
\x09for (int i = 1; i
\x09\x09if (a[i]>m && a[i] < n) kinds++;
\x09\x09if (a[i] >= n) break;
\x09}
\x09cout << kinds << endl;
\x09return 0;
}
看了求幸运数C/C++代码?幸运数...的网友还看了以下:
下列机构中,()能把旋转运动变成往复直线运动,也可以把往复直线运动变成旋转运动。A.曲柄摇杆机 2020-05-19 …
一道算式是2+8乘45%.皮皮把运算顺序搞错了,变成了先算加法后算乘法.这样算得结果与正确答案相差 2020-06-20 …
加关联词1.看重别人,尊重别人,并把对手变成自己的朋友.2.看重别人,也就是看重自己,给自己机会, 2020-06-21 …
动量守恒?一个质量为0.17kg的静止的台球,被一运动速度为4.0m/s的同样的台球碰击.碰撞后, 2020-07-21 …
有理数的加减混合运算可统一成()运算,在一个和式里,通常把各个加数(有理数的加减混合运算可统一成() 2020-11-24 …
英语翻译1.我们不装载A附件,但是先把链条海运走(包括B附件100链板)2.B附件(150个链板和2 2020-12-04 …
关于均变速直线运动的物理题.某同学在校运动会上百米赛跑的成绩为11.80s(我们将百米赛跑的过程近似 2020-12-13 …
运送一批货物甲队独运需要9天完成,乙队独运需要12天完成.现在由甲队先运6天,剩下的由乙队运完,还要 2020-12-15 …
求幸运数C/C++代码?幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的“筛法”生成.首先从1 2020-12-15 …
帮帮忙把这个文翻译成英文.我们的作业~~~主题:报盘尊敬的先生:2002年7月2日有关查询大米和大豆 2021-01-12 …