c语言输出100到200之间的素数 用C语言输出100到200之间的素数

C\u8bed\u8a00\u8f93\u51fa100-200\u4e4b\u95f4\u7684\u7d20\u6570

\u903b\u8f91\u9519\u8bef\uff0c\u51c6\u786e\u4f4d\u7f6e\u4e3a14\u884c\uff0c\u6b63\u786e\u4ee3\u7801\u5982\u4e0b\uff1a#includeint main(){int i = 0;for (i=100; i=i){printf("%d",i);}}return 0;}
\u6269\u5c55\u8d44\u6599\uff1a
\u8d28\u6570\u53c8\u79f0\u7d20\u6570\u3002\u4e00\u4e2a\u5927\u4e8e1\u7684\u81ea\u7136\u6570\uff0c\u9664\u4e861\u548c\u5b83\u81ea\u8eab\u5916\uff0c\u4e0d\u80fd\u88ab\u5176\u4ed6\u81ea\u7136\u6570\u6574\u9664\u7684\u6570\u53eb\u505a\u8d28\u6570\uff1b\u5426\u5219\u79f0\u4e3a\u5408\u6570\u3002

\u8d28\u6570\u7684\u4e2a\u6570\u662f\u65e0\u7a77\u7684\u3002\u6b27\u51e0\u91cc\u5f97\u7684\u300a\u51e0\u4f55\u539f\u672c\u300b\u4e2d\u6709\u4e00\u4e2a\u7ecf\u5178\u7684\u8bc1\u660e\u3002\u5b83\u4f7f\u7528\u4e86\u8bc1\u660e\u5e38\u7528\u7684\u65b9\u6cd5\uff1a\u53cd\u8bc1\u6cd5\u3002\u5177\u4f53\u8bc1\u660e\u5982\u4e0b\uff1a\u5047\u8bbe\u8d28\u6570\u53ea\u6709\u6709\u9650\u7684n\u4e2a\uff0c\u4ece\u5c0f\u5230\u5927\u4f9d\u6b21\u6392\u5217\u4e3ap1\uff0cp2\uff0c\u2026\u2026\uff0cpn\uff0c\u8bbeN=p1\u00d7p2\u00d7\u2026\u2026\u00d7pn\uff0c\u90a3\u4e48\uff0c

\u662f\u7d20\u6570\u6216\u8005\u4e0d\u662f\u7d20\u6570\u3002
\u5982\u679c

\u4e3a\u7d20\u6570\uff0c\u5219

\u8981\u5927\u4e8ep1\uff0cp2\uff0c\u2026\u2026\uff0cpn\uff0c\u6240\u4ee5\u5b83\u4e0d\u5728\u90a3\u4e9b\u5047\u8bbe\u7684\u7d20\u6570\u96c6\u5408\u4e2d\u3002
\u5982\u679c \u4e3a\u5408\u6570\uff0c\u56e0\u4e3a\u4efb\u4f55\u4e00\u4e2a\u5408\u6570\u90fd\u53ef\u4ee5\u5206\u89e3\u4e3a\u51e0\u4e2a\u7d20\u6570\u7684\u79ef\uff1b\u800cN\u548cN+1\u7684\u6700\u5927\u516c\u7ea6\u6570\u662f1\uff0c\u6240\u4ee5\u4e0d\u53ef\u80fd\u88abp1\uff0cp2\uff0c\u2026\u2026\uff0cpn\u6574\u9664\uff0c\u6240\u4ee5\u8be5\u5408\u6570\u5206\u89e3\u5f97\u5230\u7684\u7d20\u56e0\u6570\u80af\u5b9a\u4e0d\u5728\u5047\u8bbe\u7684\u7d20\u6570\u96c6\u5408\u4e2d\u3002\u56e0\u6b64\u65e0\u8bba\u8be5\u6570\u662f\u7d20\u6570\u8fd8\u662f\u5408\u6570\uff0c\u90fd\u610f\u5473\u7740\u5728\u5047\u8bbe\u7684\u6709\u9650\u4e2a\u7d20\u6570\u4e4b\u5916\u8fd8\u5b58\u5728\u7740\u5176\u4ed6\u7d20\u6570\u3002\u6240\u4ee5\u539f\u5148\u7684\u5047\u8bbe\u4e0d\u6210\u7acb\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u7d20\u6570\u6709\u65e0\u7a77\u591a\u4e2a\u3002
\u5176\u4ed6\u6570\u5b66\u5bb6\u7ed9\u51fa\u4e86\u4e00\u4e9b\u4e0d\u540c\u7684\u8bc1\u660e\u3002\u6b27\u62c9\u5229\u7528\u9ece\u66fc\u51fd\u6570\u8bc1\u660e\u4e86\u5168\u90e8\u7d20\u6570\u7684\u5012\u6570\u4e4b\u548c\u662f\u53d1\u6563\u7684\uff0c\u6069\u65af\u7279\u00b7\u5e93\u9ed8\u7684\u8bc1\u660e\u66f4\u4e3a\u7b80\u6d01\uff0c\u54c8\u91cc\u00b7\u5f17\u65af\u6ed5\u4f2f\u683c\u5219\u7528\u62d3\u6251\u5b66\u52a0\u4ee5\u8bc1\u660e\u3002

\u5e94\u8be5\u662f\u5bf9\u7d20\u6570\u7684\u5b9a\u4e49\u6ca1\u6709\u7406\u89e3\u5427\u3002
\u7d20\u6570\uff0c\u662f\u5b9a\u4e49\u4e3a\u5728\u5927\u4e8e1\u7684\u81ea\u7136\u6570\u4e2d\uff0c\u9664\u4e861\u548c\u5b83\u672c\u8eab\u4ee5\u5916\u4e0d\u518d\u6709\u5176\u4ed6\u56e0\u6570\u3002
\u7b80\u800c\u8a00\u4e4b\uff0c\u7d20\u6570\u5c31\u662f\u53ea\u80fd\u88ab1\u548c\u5b83\u81ea\u5df1\u76f8\u4e58\u5f97\u5230\u7684\u6570\u3002\u6240\u4ee5\uff0c\u9664\u4e861\u548c\u5b83\u81ea\u5df1\u4e4b\u5916\uff0c\u5b83\u5bf9\u5176\u5b83\u6570\u53d6\u4f59\u6570\uff0c\u7ed3\u679c\u90fd\u4e0d\u662f0\u3002
\u540c\u65f6\uff0c\u65e0\u8bba\u4ec0\u4e48\u6570\uff0c\u9664\u4e86\u5b83\u81ea\u5df1\u4e4b\u5916\uff0c\u6700\u5927\u7684\u56e0\u6570\u80af\u5b9a\u662f\u5b83\u7684\u4e00\u534a\uff0c\u6240\u4ee5\u53ea\u9700\u8981\u67e5\u627e\u5230\u5b83\u7684\u4e00\u534a\u5c31\u53ef\u4ee5\u4e86\uff0c\u4e0d\u5fc5\u4ece1\u67e5\u627e\u5230\u5b83\u81ea\u5df1\u3002\u800c\u4e14\uff0c\u8fd9\u91cc\u662f\u627e\u7d20\u6570\uff0c\u5982\u679c\u5b83\u7684\u56e0\u6570\u5305\u62ec\u5b83\u81ea\u5df1\u7684\u4e00\u534a\u4e0e\u6570\u5b572\u7684\u8bdd\uff0c\u90a3\u5b83\u4e5f\u4e0d\u4f1a\u662f\u7d20\u6570\u4e86\uff0c\u6240\u4ee5\u67e5\u627e\u7684\u754c\u9650\u5b9a\u4e3a\u6bd4\u5982 i/2 \u662f\u4e0d\u4f1a\u6709\u9057\u6f0f\u7684\u3002
\u81f3\u4e8e\u4f60\u7684\u539f\u6765\u7684\u4ee3\u7801\u91cc\u4e3a\u4ec0\u4e48\u662f\u5b83\u81ea\u5df1\u5f00\u5e73\u65b9\uff0c\u6211\u6570\u5b66\u8bb0\u5f97\u4e0d\u591a\u4e86\uff0c\u4e0d\u662f\u592a\u6e05\u695a\u3002
\u7136\u540e\uff0c\u5c31\u662f\u6839\u636e\u5b9a\u4e49\u53bb\u5224\u65ad\u4e00\u4e2a\u6570\u662f\u4e0d\u662f\u7d20\u6570\uff0c\u90a3\u4e48\uff0c\u5c31\u5fc5\u987b\u8ba9\u5b83\u4e0e\u4ece2\u5230\u5b83\u7684\u4e00\u534a\u7684\u6240\u6709\u7684\u6570\u7684\u4f59\u6570\u90fd\u4e0d\u4e3a0\uff0c\u53cd\u5e94\u5230\u4ee3\u7801\u91cc\u5c31\u662f\u4e0d\u4ec5\u4ec5\u8981 \u300ci % n != 0\u300d\uff0c\u800c\u4e14\u8fd8\u8981\u5168\u90e8\u80fd\u9664\u7684\u6570\u90fd\u9664\u4e00\u904d\uff0c\u4e5f\u5c31\u662f\u300c n == k\u300d\uff0c\u8fd9\u4e2a\u65f6\u5019\uff0c\u624d\u80fd\u786e\u5b9a\u8fd9\u4e2a\u6570\u662f\u7d20\u6570\u4e86\u3002
#include #include int main(){ int i, k, n, m = 0; for (i = 101; i <= 200; i = i + 2) { k = i / 2; // \u88ab\u9664\u7684\u6570\uff0c\u5c0f\u4e8e\u7b49\u4e8e\u5b83\u7684\u4e00\u534a for (n = 2; n <= k; n++) { if (i % n == 0) break; else if (n == k) // \u8981\u628a\u4ece2\u5230k\u7684\u6570\u90fd\u9664\u4e00\u904d\u624d\u80fd\u786e\u5b9a { printf("%8d", i); m++; if (0 == m % 10) //\u628a\u8fd9\u4e2aif\u8f93\u51fa\u6362\u884c\u653e\u5230else if\u91cc\u9762\u6765\uff0c\u8981\u4e0d\u7136\u540e\u9762\u4f1a\u591a\u5f88\u591a\u7a7a\u884c printf("\n"); } } } printf("\n"); return 0;}\u8f93\u51fa\u622a\u56fe\uff1a

\u8fd8\u6709\u4e00\u5f20\u662f\u628a i \u7684\u521d\u59cb\u503c\u6539\u4e3a 3 \u7684\u8f93\u51fa\u622a\u56fe\uff0c\u53ef\u4ee5\u8bf4\u662f\u5f88\u89c4\u6574\u4e86\uff01

\u5982\u6709\u5e2e\u52a9\uff0c\u70e6\u8bf7\u70b9\u91c7\u7eb3\uff0c\u8c22\u8c22\uff01

解题思路:

首先先找出来100~200以内的所有整数,再让这些整数对除了1和它本身以外的数求余,如果有能整除的就不是素数,否则就为素数。

先找出来100到200的所有整数,都为i

用i去对除了1和它本身以外的数求余。

正确的代码:

#include<stdio.h>

int main()

{

int conut = 0;

int i = 0;

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

{

int j = 0;

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

{

if(i%j == 0)

break;

}

if(j==i)

{

conut++;

printf("%d ", i);

}

}

printf("
");

printf("素数个数为:%d
", conut);

return 0;

}

第二个if语句的判断条件应该是j==i;而不是i%j 。

扩展资料:

实现的其他方法:

需要用到sort函数,也就是开平方根函数。头文件为#include<math.h>。 显而易见,任何一个数,每一对因子都是由这个数开平方后的数的左右各一个组成,所以,在求余过程中,只需要对从2到开平方之后的数求余即可。遇到可以整除的就不是素数,否则就为素数。

代码:

#include<stdio.h>

#include<math.h>

int main()

{

int count = 0;

int i = 0;

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

{

int j = 0;

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

{

if(i%j == 0)

break;

}

if(j > sqrt(i))

{

count++;

printf("%d ",i);

}

}

printf("
");

printf("素数个数为:%d", count);

return 0;

}



应该是对素数的定义没有理解吧。

素数,是定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

简而言之,素数就是只能被1和它自己相乘得到的数。所以,除了1和它自己之外,它对其它数取余数,结果都不是0。

同时,无论什么数,除了它自己之外,最大的因数肯定是它的一半,所以只需要查找到它的一半就可以了,不必从1查找到它自己。而且,这里是找素数,如果它的因数包括它自己的一半与数字2的话,那它也不会是素数了,所以查找的界限定为比如 i/2 是不会有遗漏的。

至于你的原来的代码里为什么是它自己开平方,我数学记得不多了,不是太清楚。

然后,就是根据定义去判断一个数是不是素数,那么,就必须让它与从2到它的一半的所有的数的余数都不为0,反应到代码里就是不仅仅要 「i % n != 0」,而且还要全部能除的数都除一遍,也就是「 n == k」,这个时候,才能确定这个数是素数了。

#include <stdio.h>
#include <math.h>

int main()
{
        int i, k, n, m = 0;
        for (i = 101; i <= 200; i = i + 2)
        {
                k = i / 2;  //  被除的数,小于等于它的一半
                for (n = 2; n <= k; n++)
                {
                        if (i % n == 0)
                                break;
                        else if (n == k)  // 要把从2到k的数都除一遍才能确定
                        {
                                printf("%8d", i);
                                m++;
                                if (0 == m % 10)  //把这个if输出换行放到else if里面来,要不然后面会多很多空行
                                        printf("
");
                        }
                }
        }
        printf("
");
        return 0;
}

输出截图:

还有一张是把 i 的初始值改为 3 的输出截图,可以说是很规整了!

如有帮助,烦请点采纳,谢谢!



#include<stdio.h>

#include<math.h>

int main()

{ int i=100,n,k;

 {for(i;i<=200;i++)

{k=sqrt(i);

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

{if(i%n==0)

      break;

}

    if(n>k) printf("%d",i);

  }

 }

 printf("
");

 getch();

 return 0; 

}  



逻辑错误,准确位置为14行,正确代码如下:
#include<stdio.h>
int main()
{
int i = 0;
for (i=100; i<=200; i++)
{
int j = 0;
for (j=2; j<=i-1; j++)
{
if (i%j == 0)
{
break;
}
}
if (j>=i)
{
printf("%d",i);
}
}
return 0;
}

扩展资料:

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

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

是素数或者不是素数。

如果

为素数,则

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





首先了解什么是素数,
素数只能被 1 和它本身所能整出呃数
既然你是求100——200之间的素数
首先做一个for循环,是从100——200的(i=100;i<=200;i++)
在做一个内循环,是从2到外循环的数,然后判断能否呗整出
(j=2;j<i;j++)
思路是这样的 我给你写一下程序
main()
{
int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
if(i==j)
printf("%d\n",i);
}
}
过程基本就这样,你可以根据3楼的改编一下,
他的过程更简单,这就需要更加理解这个东西的本质了

  • C璇█姹100鍒200涔嬮棿鐨鎵鏈夌礌鏁,鎸夋瘡琛6涓杈撳嚭?
    绛旓細int count = 0; // 璁℃暟鍣紝璁板綍姣忚宸茬粡杈撳嚭浜嗗灏戜釜鏁 printf("100 鍒 200 涔嬮棿鐨鎵鏈夌礌鏁颁负锛歕n");for (i = 100; i <= 200; ++i) { int is_prime = 1; // 鏍囪褰撳墠鏁版槸鍚︿负绱犳暟 for (j = 2; j < i; ++j) { if (i % j == 0) { // 濡傛灉瀛樺湪姣 1 鍜屾湰韬皬浣...
  • 杈撳嚭100鍒200涔嬮棿涓嶈兘琚7鏁撮櫎鐨勬暟鐢╳hile鍑芥暟瑙g瓟?
    绛旓細浠ヤ笅鏄娇鐢╳hile鍑芥暟鐨C璇█绋嬪簭锛岀敤浜杈撳嚭100鍒200涔嬮棿涓嶈兘琚7鏁撮櫎鐨勬暟锛歩nclude <stdio.h> int main() { int num = 100;while (num <= 200) { if (num % 7 != 0) { printf("%d\n", num);} num++;} return 0;} 鍦ㄨ繖涓▼搴忎腑锛屾垜浠娇鐢ㄤ簡涓涓獁hile寰幆鏉ヨ凯浠100鍒200涔嬮棿鐨鎵鏈...
  • C璇█娴佺▼鍥鹃棶棰(灏100~200涔嬮棿涔嬮棿鐨绱犳暟杈撳嚭)
    绛旓細杩欎釜绋嬪簭鎴戜滑闇瑕佺敤if璇彞鍜宖or璇彞锛屾牳蹇冩嬀浠100-200涓涓暟涓涓暟鍒ゆ柇锛屽綋鎴愮珛鏃跺垯鎵撳嵃鍑烘潵锛屽叿浣撲唬鐮佸涓嬨俰nclude "stdafx.h"include <cmath> include <iostream> define m 200 using namespace std;bool p[m + 1];int main(){ int n = (int)sqrt((double)m);p[0] = p[1] = 1;f...
  • c璇█杈撳嚭100鍒200涔嬮棿鐨绱犳暟
    绛旓細棣栧厛鍏堟壘鍑烘潵100~200浠ュ唴鐨勬墍鏈夋暣鏁,鍐嶈杩欎簺鏁存暟瀵归櫎浜1鍜屽畠鏈韩浠ュ鐨勬暟姹備綑,濡傛灉鏈夎兘鏁撮櫎鐨勫氨涓嶆槸绱犳暟,鍚﹀垯灏变负绱犳暟銆 鍏堟壘鍑烘潵100鍒200鐨鎵鏈夋暣鏁,閮戒负i 鐢╥鍘诲闄や簡1鍜屽畠鏈韩浠ュ鐨勬暟姹備綑銆 姝g‘鐨勪唬鐮: #include<stdio.h> int main() { int conut = 0; int i = 0; for(i=100; i<=200; ...
  • 杈撳嚭100鍒200涔嬮棿鎵鏈夌殑绱犳暟,骞舵眰鍏舵诲拰銆c璇█
    绛旓細include <stdio.h>void main(){int i,j,n=0,s=0;for(i=100;i<=200;i++){for(j=2;j<=i/2;j++)if(i%j==0) break;if(j>i/2){printf("%d ",i);s+=i;n++;if(n%10==0) printf("\n");}}printf("\nS=%d",s);} ...
  • c璇█ 璋冪敤鍑芥暟,杈撳嚭100鍒200涔嬮棿鐨鎵鏈夌礌鏁
    绛旓細绱犳暟鏄彧鏈1鍜岃嚜韬墠鑳芥暣闄ょ殑鏁般傝皟鐢ㄨ嚜瀹氫箟鐨勫嚱鏁皃rime锛屽100~200闂寸殑濂囨暟杩涜鍒ゆ柇锛屾槸绱犳暟鍒杈撳嚭銆備妇渚嬩唬鐮佸涓嬶細include "stdio.h"int prime(int n){//鍒ゆ柇100~200闂寸殑鏁版槸鍚︿负绱犳暟int i;if(!(n&1))return 0;for(i=3;i*i<=n;i+=2)if(!(n%i))return 0;return 1;}int main(int...
  • c璇█缂栫▼ 杈撳嚭100鈥斺200涔嬮棿婊¤冻濡備笅涓や釜鏉′欢鐨勬暟:瑕佹槸绱犳暟,杩樿鏈夋暟...
    绛旓細100鈥斺200涔嬮棿婊¤冻濡備笅涓や釜鏉′欢鐨勬暟(瑕佹槸绱犳暟,杩樿鏈夋暟瀛3):\n"); for (int i = 100; i <= 200; i++){ if (isPrimeNumber(i) && contains3(i)) printf("%4d", i); } getchar(); return 0;}2. 杩愯缁撴灉濡備笅:甯屾湜瀵逛綘鏈夊府鍔﹡...
  • C璇█璁$畻100鍒200涔嬮棿鐨绱犳暟骞杈撳嚭
    绛旓細bool is=true;for(int i =100;i<=200;i++)//璁㊣浠100寰幆鍒200{for(int j=2;j<sqrt(i);j++)//璁㎎浠2寰幆鍒板綋鍓嶈鍒ゆ柇鐨処鐨勫肩殑寮鏍瑰彿鎴栬匢-1{if(i%j==0)//閫愪釜杩涜鍒ゆ柇 鍋囧J鑳借I鏁撮櫎 璇存槑涓嶆槸绱犳暟 淇敼IS鍊间负FALSE 閫鍑哄惊鐜 濡傛灉鏄礌鏁 鍒橧S鐨勫间粠澶磋嚦灏鹃兘涓篢RUE 璇存槑鏄...
  • C璇█缂栧啓杈撳嚭100鍒200涔嬮棿鐨鍏ㄩ儴绱犳暟骞剁粺璁′釜鏁?
    绛旓細寰幆鍙橀噺)鏁撮櫎锛屽垯涔熸槸return 0锛屾渶鍚庯紝娣诲姞杩斿洖璇彞return 1銆傜劧鍚庡湪main鍑芥暟涓缓绔嬩竴涓互100涓哄垵濮嬪硷紝娴嬭瘯鏉′欢涓<200锛屾闀夸负1鐨刦or寰幆锛屽惊鐜綋閲屾墽琛岀殑鏄互寰幆鍙橀噺涓哄弬鏁拌皟鐢╢un鍑芥暟锛屽鏋滃畠鐨勮繑鍥炲兼槸1锛屽垯杈撳嚭寰幆鍙橀噺鐨勫硷紝骞跺缁熻鍙橀噺鐨勫煎姞1锛屾渶鍚庯紝寰幆缁撴潫鍚庯紝杈撳嚭缁熻鍙橀噺鐨勫笺
  • C璇█,姹100~200涔嬮棿鐨绱犳暟,浠5涓竴琛岀殑褰㈠紡鍏ㄩ儴鏄剧ず鍑烘潵,骞剁粰鍑虹礌鏁扮殑...
    绛旓細include<math.h> void main(){ int isprime(int n);int n,m;for(m=100;m<=200;m++){ if(isprime(n)){ printf("%4d",m);n++;if(n%5==0) putchar('\n');} } printf("%d\n",n);} int isprime(int n){ int k,i;for(k=sqrt(n),i=2;i<k;i++)if(n%k==0) ...
  • 扩展阅读:c语言求100到200素数 ... c++输出100到200之间素数 ... c语言必背100代码 ... c#怎么发音 ... c十十编程要学多久 ... 100到200之间的奇数java ... c语言编译器 ... 编程输出100到200的素数 ... 输出100到200之间素数ns图 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网