这个就是我今天做的浙江的一道简单。
程序思路:
首先输入两个数字,判断素数的方法有两个,一个是用取余从2到这个数,如果余数一直不为0,则这个数是素数。(注意1不为素数),用两个for嵌套,外层的for是为了从输入的两个数字之间增长,里面的for则是为了验证这个数字是不是素数。最后再添加一个if当记录数字的数(输出10个数时)为10的时候开始换行。
下面是第一个方法的代码:
#include<stdio.h>
int main()
{
int a = 0, b = 0,z=0;//a,b为输入的数字,z为计数(每10个换一行)
scanf("%d %d",&a,&b);
for (int i = a; i <=b; i++)//这个数字从a到b增长
{
if (i==2)//如果这个if不留下 当输入1和100的时候 将不会打印2这个素数
{
printf("%d ",i);
z++;
}
for (int j=2; j<i; j++)//进行判断是不是素数
{
if (i%j==0)//有任何一次为0将都不是素数直接跳出循环
{
break;
}
else if (j==i-1)
{
printf("%d ",i);
++z;
if (z%10==0)//每打印10个则开始换行
{
printf("\n");
}
}
}
}
getchar();
return 0;
}
第二种:判断素数的第二种就是当取余从2到这个数开根号的数字时没有任何一个余数为0,那它就是素数。
其实两个方法是差不多的,我是初学者所以只能用这两种方法解决。
其实代码就是加上#include<math.h>
这个头文件然后用sqrt(i)
来开根号i,其实过程大致是基本相同的。
这就是这道题 如果有什么问题可以评论留言 我是一名新手
激励自己的话:
若不给自己设限,则人生中就没有限制你发挥的藩篱。
我不是在简单的编程,而是在创造一个“世界”。