首页 > 编程语言 > 详细

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

时间:2019-10-20 14:54:46      阅读:48      评论:0      收藏:0      [点我收藏+]

初学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 }

 

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

原文:https://www.cnblogs.com/hspzm/p/11707268.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!