欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-09 15:01:01
初学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 }