您的位置:

判断100以内的质数c语言,c语言 100以内的质数

本文目录一览:

c语言求100以内的质数

以我来看我觉得两个for循环都有问题。

首先第一个for循环应该错了。应该是i 100。因为是求100以内的,所以要循环到100。

这个程序就是利用for循环让i从2遍历到99.然后利用j找出了1和本身之外i的因数。

那么第二个for循环问题就来了,我们寻找i的因数的时候,并不需要从2一直找到i本身,只要找到i的一半就可以停止了。举个简单例子,比如我们要找98的因数,那么我们只需要找到98÷2 = 49就行了,因为49之后的数字是肯定不能整除98的。同理大于i/2之后的数字是肯定不能够整除i的。所以第二个for的条件应该是j = (i/2)而不是j。下面就简单了。如果j是i的因数,那么i%j=0. 就直接continue(顺便提一句这里是不能用break的,因为break是直接跳出了for循环,相当于直接结束了整个for循环,而此时还没有遍历到100的,应该用continue,continue就是结束当前循环并且执行i++继续下一轮循环)继续循环而不用执行print语句(这个时候代表i不是质数,因为除了1和它本身还有j这个因数。)。同理,如果从2到i/2都没有i的因数,那么就说明i没有其他因数,也就是质数了,所以print输出i。

另外补充一下:

i/j是求i除以j的商,比如11 / 3 = 3; 6 / 3 = 2

i%j是求i除以j的余,比如11 % 3 = 2; 6 % 3 = 0。

C语言求100以内质数

以我来看我觉得两个for循环都有问题。

首先第一个for循环应该错了。应该是i 100。因为是求100以内的,所以要循环到100。

这个程序就是利用for循环让i从2遍历到99.然后利用j找出了1和本身之外i的因数。

那么第二个for循环问题就来了,我们寻找i的因数的时候,并不需要从2一直找到i本身,只要找到i的一半就可以停止了。举个简单例子,比如我们要找98的因数,那么我们只需要找到98÷2 = 49就行了,因为49之后的数字是肯定不能整除98的。同理大于i/2之后的数字是肯定不能够整除i的。所以第二个for的条件应该是j = (i/2)而不是j。下面就简单了。如果j是i的因数,那么i%j=0. 就直接continue(顺便提一句这里是不能用break的,因为break是直接跳出了for循环,相当于直接结束了整个for循环,而此时还没有遍历到100的,应该用continue,continue就是结束当前循环并且执行i++继续下一轮循环)继续循环而不用执行print语句(这个时候代表i不是质数,因为除了1和它本身还有j这个因数。)。同理,如果从2到i/2都没有i的因数,那么就说明i没有其他因数,也就是质数了,所以print输出i。

另外补充一下:

i/j是求i除以j的商,比如11 / 3 = 3; 6 / 3 = 2

i%j是求i除以j的余,比如11 % 3 = 2; 6 % 3 = 0。

c语言使用循环找出100之内的所有质数

#include "stdio.h"

#define N 100

int main()

{

    int i,j;

    int flag;

    printf("100 以内的质数有:\n");

    for(i=2;i101;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;

}

C语言,编写函数判断一个整数是否为素数,在主函数中调用该函数并输出100以内的全部素数?

#include stdio.h

int is_prime_number(int n)

{

 int i;

 int result = 1;

 if(n==1)

     return 0;

 for(i=2;in;i++)

 {

     if(n%i==0)

     {

         result = 0;

         break;

     }

 }

 return result;

}

int main()

{

 int n;

 printf("100以内的素数包括:\n");

 for(n=1;n=100;n++)

 {

     if(is_prime_number(n))

     {

         printf("%d ",n);

     }

 }

 printf("\n");

 return 0;

}

用C语言.判断100以内的质数用IF语句

我对孙经琛同志的程序做了修改:

#include stdio.h

void main()

{

int i,k,t=0,sum=0;

int c,a[100];

c=1;

for (i=1;i=100;i++) /*设定范围100以内*/

{

for(k=1;k=i;k++) /*从1查到当前所判断的数*/

{

if (i%k==0 k!=1 i!=k) c=0; /*如果已经不满足素数条件,则将标志转0*/

}

if (c!=0) {a[t]=i;t++;} /*如果标志为1,则该质数保存入数组*/

c=1; /*初始化标志*/

}

for(i=0;it;i++)

printf("%d\n",a[i]);

getchar();

}

输出100以内的质数,用c语言编写

#includestdio.h

int main()

{

int i,j;

int count=0;

for(i=2;i100;i++)

{

for(j=2;j=i/2;j++)

if(i%j==0)//如果i能被j整除  就不是质数  退出循环

break;

if(ji/2)

{

count++;

printf("%-3d",i);

if(count%5==0)//当每一行有5个数时  换行

printf("\n");

}

}

return 0;

}

for(j=2;j=i/2;j++)中的 j=i/2是表示  从j=2开始遍历到j=i/2  看看2~i/2中能否整除i

如果都不能  说明i是质数(也就是ji/2)

如果有1个及以上能整除i  说明i不是质数

for()

{

}

//for循环结束之后  j的值是大于i/2的  因为for循环的条件是:j=i/2

//因此  当ji/2时  for循环结束

if(ji/2)

这里当且仅当2~i/2都不能整除i时   也就是ji/2  才说明i是质数

参考资料

输出100以内的质数,用c语言如何编写?.百度知道[引用时间2017-12-25]

判断100以内的质数c语言,c语言 100以内的质数

2023-01-08
c语言中质数的判断,质数判断C语言

2023-01-04
c语言100内质数相加,用c语言求1000以内的完全数之和

2023-01-05
c语言0到100的素数,C语言100以内的素数

2022-12-02
c语言判别质数,怎么用c语言判断质数

2023-01-08
c语言求出100以内的素数,c语言求出100以内的素数和奇数

2022-11-30
c语言3到100素数,100以内的素数C语言

2023-01-03
关于c语言找质数,用c语言求质数

2022-11-25
筛选质数c语言,如何判断一个数是质数C语言

2022-11-28
c语言整数互质,C语言判断两个整数是否互质

2023-01-07
c语言1到100完数,c语言编程求100以内的完数

2022-12-01
c语言偶数的积,c语言求100以内偶数积

2023-01-05
c语言产生质数数组文档介绍内容,输出质数c语言程序

2023-01-03
100个5相加c语言,一到十的累加和c语言

2022-12-01
c语言数组输出1到100的素数,c语言1到1000的素数

2022-11-30
c语言程序素数100到200,c语言编程100到200之间的

2023-01-03
素数c语言,判断素数c语言

2022-11-26
c语言用for语句编译1到100的素数,c语言for语句求素

2023-01-05
c语言质数函数,C语言求质数的函数

2022-12-01
c语言判断nn,C语言判断闰年

本文目录一览: 1、C语言怎样判断二维数组结束? 2、C语言里如何判断一个整形数据是几位数? 3、C语言编程:输入一个正整数n,判断它是否同时含有奇数字偶数字 4、c语言中一个判断结果如果符合输出0否

2023-12-08