C语言求100以内素数的问题

#include<stdio.h>
void main()
{ int t,i;

for(i=2;i<=100;i++)
t=1;
for(t=2;t<i;t++)
if(i%t==0)
t=0;
if(t==0)printf("%d",i);

}
各位高手能不能看我这个程序哪里错了?
按一楼和2楼的改不对啊

#include<stdio.h>

int main()

{

int i=0;

int count=0;

for(i=0;i<=100;i++)

{

int j=0;

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

{

if(i%j==0)

{

break;

}

}

if(i==j)

{

count++;

printf("%d ",i);

}

}

printf("\ncount=%d\n",count);

return 0;

}

解题思路:

素数,就是除了1和他本身,不能被其他数整除的数字。答案就是用100到200之间的每个数字,除以2到其本身前面的那一个数字,如果此过程中出现整除的现象,则该数不是素数。如果没有整除的现象,则该数为素数输出。

扩展资料:

质数又称素数。一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则称为合数。

质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,  是素数或者不是素数。

如果 为素数,则 要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。

参考资料:百科-素数质数

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-08-07

C语言求100以内的素数编程的思路和方法如下:

1.首先需要定义两个整型的游标变量,用于后续的循环操作。这里定义两个变量为i,j。

2.接着适用for循环来分别计算100以内的数。其中游标适用i变量。(因为第一个素数是3,所以循环变量游标从数字3开始)

3.接着在第一个for循环的开头添加布尔变量tag,这个用于后续判断一个数是否为素数。当为素数时,将tag置为false。

4.然后使用第二个for循环,在这个循环中,使用变量j作为循环游标,通过尝试2到比需要比较的数之前的所有数是否为i的因子。

5.在第二哥循环中,当检测到i不为素数时,将tag置为false。

6.然后判断tag是否为true,如果是则说明该数为素数,此时输出该数。

7.编写代码完成后,运行程序即可成功输出100以内的所有素数。

本回答被网友采纳
第2个回答  推荐于2019-08-28

    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

程序代码:

#include <stdio.h>

#include "math.h"

main()

{int m,i,,k,h=0,leap=1;

printf("\n");

for(m=0;m<=100;m++)

{k=sqrt(m+1);

for(i=2;i<=k;i++)

if(m%i==0)

{leap=0;break;}

if(leap){printf("%-4d",m);h++;

if(h%10==0)

printf("\n");}}}

资料拓展:

质数又称素数。一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则称为合数。

质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,  是素数或者不是素数。如果  为素数,则  要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。

参考资料:素数(质数)——百度百科

本回答被网友采纳
第3个回答  推荐于2019-08-27

#include <stdio.h>

#include "math.h"

main( )

{int m,i,,k,h=0,leap=1;

printf("\n");

for(m=0;m<=100;m++)

{k=sqrt(m+1);

for(i=2;i<=k;i++)

if(m%i==0)

{

leap=0;break;

}

if(leap)

{

printf("%-4d",m);

h++;

if(h%10==0)

printf("\n");

}

}

}

扩展资料

其他方法得到100以内的素数:

#include<stdio.h>

int main( )

{

int i = 0;

int j = 0;

int t = 1;

for(i = 2;i <= 100;i++)

{

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

{

if(i%j == 0)

{

t= 0;

break;

}

}

if(t == 1)

{

printf("%d\n",i);

}

t = 1;

}

return 0;

}

本回答被网友采纳
第4个回答  2020-03-12

前几个高赞回答简直瞎搞,复杂又忽略掉了数字2.

我这个程序可以求出100以内的素数并将其按照10个每行排列

其中num的计数算法题主可以学一下,经常用到

看不懂的地方我帮大家标注出来

#include<stdio.h>                                           //头文件

void main()

{

          int i,j,k,num=0;

          for(j=2;j<=100;j++)                             //简单的循环嵌套,j表示100以内所有数字

          {

                 k=1;

                 for(i=j-1;i>1;i--)

                 {

                        if(j%i==0)

                        {

                                k=0;                                //当j为素数时,k赋值为0

                         }

                 }

              if(k==1)                                           //判断k是否改变为0,即可判断j是否为素数

               {

                 printf("%5d",j);

                 num++;

               }

               if(num==10)                                                   //一行输出10个素数

              {

                printf("\n");

                 num=0;

              }

         }

}


上图

vc++6.0中的源码

结果

C语言求100以内素数的问题
C语言求100以内的素数编程的思路和方法如下:1.首先需要定义两个整型的游标变量,用于后续的循环操作。这里定义两个变量为i,j。2.接着适用for循环来分别计算100以内的数。其中游标适用i变量。(因为第一个素数是3,所以循环变量游标从数字3开始)3.接着在第一个for循环的开头添加布尔变量tag,这个用于...

用c 求100以内的素数
在C语言中,求取100以内的素数是一个常见的编程题目。下面,我将为您详细介绍如何实现这个任务。首先,我们需要了解素数的定义。素数是一个只有1和它本身两个正除数的自然数。例如,2、3、5、7、11、13等都是素数。实现过程如下:1. 使用一个循环结构(for循环)从2开始遍历到100(包括100),遍历...

C语言,列出100以内的素数
列出100以内的素数 代码如下:include<stdio.h> intmain(void){ inti,j,k;printf("%d\\n",2);2肯定是素数[em02]for(i=1;i<=100;i+=2){ for(j=2;j

C语言求100以内素数
在C语言中,要找出100以内的素数,我们可以稍微调整代码结构。首先,我们需要明确,这里的素数是只有1和本身两个正因数的自然数。下面是优化过的代码片段:c include void main() { int i, j, is_prime; \/\/ 用is_prime替换t来表示当前数是否为素数 for (i = 2; i <= 100; i++) { \/\/ ...

用C语言输出100之间的所有质数
1、首先新建一个空白的c语言文件,引入头文件,头文件中包括math库,稍后会用到,建立主函数:2、主函数上面新建一个判断素数的函数isPrime,判断依据是小于从2到算数平方根的数即是素数。然后在主函数中遍历2到100的数,调用isPrime判断满足素数条件就输出:3、写完代码最后打开编译后的调试窗口,屏幕...

用C语言编写在自然数中输出100以内的素数?
include<stdio.h> \/\/输出100之内的所有素数 int main(){ int i;int j;int flag = 1;for(i = 2;i <= 100;i++){ for(j = 2;j <= i \/ 2;j++){ if(i % j ==0){ flag = 0;break;} } if(flag == 1){ printf("%d\\n",i);} flag = 1;} return 0;} ...

c语言求100以内的素数
for(int i=2;i<=100;i++)\/*确定范围:2——100*\/ { for(int k=2;k<i;k++){ if(i%k==0)break;\/*如果找到一个不是1或者它本身的因子,则停止该循环,此时k

C语言编程:用筛选法求100之内的素数,
printf("100以内的素数:\\n"); for(i=2;i<=100;i++) if(a[i])printf("%d ",i); printf("\\n"); getch(); return 0; } 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 BrotherGao 2013-03-29 · TA获得超过1500个赞 知道小有建树答主 回答量:334 采纳率:0% 帮助的人:300万...

C语言:求100以内的素数,用数组完成此题。
int a[100],b[100];int count=0;for(i=1;i<=100;i++){ int Cnt=0;a[i-1]=i;for(int j=1;j<=i;j++){ if(a[i-1]%j==0)Cnt++;} if(Cnt == 2){ b[count]=a[i-1];count++;} } printf("100以内总共有%d个素数,分别如下:\\n",count);for(i=0;i<count;i++)...

c语言怎样求2到100之间的素数?
源代码如下:include <stdio.h> include <math.h> void main(){ int n=0, i, j,w,k;for(i=2;i<=1000; i++){ w=1;k=sqrt(i);for (j=2; j<=k; j++)if (i%j==0) {w=0;break;} if (w) { ++n;if (n%10==0) printf("%d\\n",i);else printf("%d\\t",i);...

相似回答