发布网友 发布时间:2022-05-02 06:45
共5个回答
热心网友 时间:2022-06-29 06:13
列出100以内的素数
代码如下:
#include <stdio.h>
int main(void)
{
int i,j,k;
printf("%d\n",2);2肯定是素数[em02]
for(i=1;i<=100;i+=2)
{
for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
printf("%d\n",i);
}
return 0;
}
从console输入一个数,判断这个数是否为素数(质数)。
代码如下:
判断过程代码如下:
素数是指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。要判断这个数是不是素数,需要将比它小的数(除1外)整除它,如果能就说明这不是素数。
热心网友 时间:2022-06-29 06:13
#include <stdio.h>热心网友 时间:2022-06-29 06:14
第一个for是从2循环到100 为什么没有0和1呢 因为我们已经知道0和1不可能是素数 所以我们不用在循环里面加入这两个数热心网友 时间:2022-06-29 06:14
for(n=2;n<=100;n++) 是为了遍历100以内的数,保证100以内的每个数都可以检测一下是不是为素数,for(i=2;i<n;i++) 是为了 看看这个数有没有可以除尽的数,有的话就不是素数了 if(i>=n)?这个是判断因数是不是大于等于n,如果是,说明他就是素数了,打印出来同时加个制表符的空格。追问n不能等于0或1吗?
热心网友 时间:2022-06-29 06:15
因为你用的是for循环语句,for循环首先要有初始而后有终结因为你要求100以内的素数,而素数从二开始,所以第一个语句for循环。第二个for循环是为了确定他是否有因子。因为一个数的因子只可能小于他的本身。如果在i<n的所有数字里都没有他的因子,那么这个数肯定为质数。如果i一直循环到大于n那么这个数必定为质数则可以输出。