c语言使用循环找出100之内的所有质数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言使用循环找出100之内的所有质数相关的知识,希望对你有一定的参考价值。
c语言使用循环找出100之内的所有质数c语言使用循环找出100之内的所有质数
#include "stdio.h"#define N 100
int main()
int i,j;
int flag;
printf("100 以内的质数有:\\n");
for(i=2;i<101;i++)
flag = 1;
for(j=2;j<=i/2;j++)
if(i%j==0)
flag = 0;
break;
if(flag)
printf("%d ",i);
printf("\\n打印完毕\\n");
return 0;
追问
没有1呢?
质数还有1
参考技术A 什么追问就是使用二重循环或者一重循环找出100以内的质数
老师布置的作业
不会弄
用穷举法找出1~100之间的质数
本文分别利用C++语言中的while循环、do-while循环以及for循环实现了1~100之间质数的输出。
使用while循环语句
#include<iostream>
#include<cmath>
using namespace std;
int main()
int i,j,k,flag;
i = 2;
while(i<=100)
flag = 1;
k = sqrt(i);
j = 2;
while(j<k)
if(i%j==0)
flag = 0;
break;
j++;
if(flag)
cout<<i<<"是质数."<<endl;
i++;
return 0;
思想:利用flag变量记录所循环的数字是否为质数,利用变量i记录所判断的数字,判断j是否为i的因子,j只需跑遍2~ i \\sqrt i i即可。
使用do-while循环语句
#include<iostream>
#include<cmath>
using namespace std;
int main()
cout<<"2是质数."<<endl;
int i,j,k,flag;
i = 3;
do
flag = 1;
k = sqrt(i);
j = 2;
do
if(i%j==0)
flag = 0;
break;
j++;
while(j<=k);
if(flag)
cout<<i<<"是质数."<<endl;
i++;
while(i<=100);
return 0;
思想同上。其中do-while与while不同之处是:while语句在进入循环体前要先对循环条件进行判断;而do-while语句先进入循环体,后对循环条件进行判断。
使用for循环语句
#include<iostream>
#include<cmath>
using namespace std;
int main()
int i,j,k,flag;
for(i = 2;i<=100;i++)
k = sqrt(i);
for(j = 2;j<=k;j++)
if(i%j==0)
flag = 0;
break;
flag = 1;
if(flag)
cout<<i<<"是质数."<<endl;
return 0;
思想同上。
最后输出的结果如下图:
本文不再将循环范围用变量表示,若需要找其他范围内的质数,只需改变循环范围即可。
以上是关于c语言使用循环找出100之内的所有质数的主要内容,如果未能解决你的问题,请参考以下文章