小白的C++之路——求质数

2019-10-25 06:25:03来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

小白的C++之路——求质数

初学C++,打算用博客记录学习的足迹。写了两个求质数的程序,修修改改。

 1 #include <iostream>
 2 #include <math.h>
 3 using namespace std;
 4 int main(){
 5     int m, n, k, i, j, h;
 6     n = 0;  //n不应该定义在外循环内,否则无法实现换行作用
 7     cin >> m;
 8     //开始时我将k定义在循环体外,导致结果失败,因为每个内循环结束后k值会发生改变,需要在外循环中重复定义
 9     for (i = 1; i <= m ; i++) 
10     {
11         k = 1;      //也可设置布尔类型,k值的作用与布尔数相同    
12         h = sqrt(i);
13         for (j = 2; j <= h; j++)
14         {
15             if (i%j == 0)
16             {
17                 k = 0;
18                 break;
19             }
20         }            //break应用在内循环的位置,第一次内循环包括了if(k)的语句,导致打印不到东西
21             if(k)
22             {
23                 cout << i << " ";
24                 n += 1;
25                 if (n % 10 == 0)
26                     cout << endl;
27             }
28     
29     }
30     system("pause");
31     return 0;
32 }
 1 #include <iostream>
 2 #include <math.h>
 3 using namespace std;
 4 int minum, maxnum;
 5 int i, j, k;
 6 int main() {
 7     int count = 0;
 8     cout << "请输入两个数:" << endl;
 9     cin >> minum >> maxnum;
10     for(i=minum;i<=maxnum;i++){
11         k = sqrt(i);
12         for (j = 2; j <= k; j++) {
13             if (i%j == 0)
14                 break;
15         }
16         if (j >= k + 1)    //判断i是否为素数的条件
17         {          
18             cout << i << " ";
19             count++;
20             if (count % 10 == 0)
21                 cout << endl;
22         }           
23     }
24     system("pause");
25     return 0;
26 }

 


原文链接:https://www.cnblogs.com/hspzm/p/11707268.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:牛客网中矩阵中的路径

下一篇:《算法竞赛进阶指南》 1 (P4) a^b 快速幂