C语言,列出100以内的素数 c语言求100以内的素数

C\u8bed\u8a00\u8f93\u51fa100\u4ee5\u5185\u7684\u7d20\u6570

conut=0;//count\u6bcf\u6b21\u5faa\u73af\u90fd\u9700\u8981\u8d4b\u521d\u503c
for(j=1;j<=i;j++)
{
if(i%j==0)
count++;
}
if(count==2)//\u628a\u5b83\u62ff\u51fa\u6765\u5c31\u597d\u4e86
printf("%d
",i);

#include "stdio.h"
void main()
{
for(int i=2;i<=100;i++)/*\u786e\u5b9a\u8303\u56f4\uff1a2\u2014\u2014100*/
{
for(int k=2;k<i;k++)
{
if(i%k==0)break;/*\u5982\u679c\u627e\u5230\u4e00\u4e2a\u4e0d\u662f1\u6216\u8005\u5b83\u672c\u8eab\u7684\u56e0\u5b50\uff0c\u5219\u505c\u6b62\u8be5\u5faa\u73af\uff0c\u6b64\u65f6k<i*/
}
if(k==i)printf("%d\n",i);/*\u5f53k=i\u65f6\u8868\u660ei\u4e0d\u5b58\u5728\u96641\u548c\u672c\u8eab\u4ee5\u5916\u56e0\u5b50\uff0c\u56e0\u800c\u5b83\u662f\u7d20\u6570\uff0c\u6253\u51fa\u6765*/

}
}

列出100以内的素数

代码如下:

#include <stdio.h>

int main(void)

{

int i,j,k;

printf("%d
",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
",i);

}

return 0;

}

拓展资料

从console输入一个数,判断这个数是否为素数(质数)。

代码如下:

判断过程代码如下:

素数是指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。要判断这个数是不是素数,需要将比它小的数(除1外)整除它,如果能就说明这不是素数。



#include <stdio.h>
#include <math.h>
//判断整数是否为素数
int isPrime(int n)
{
    int i;
    for(i=2;i<=(int)sqrt(n);i++) //遍历从2~n的平方根向下取整
        if(n%i == 0)  //如果有i能被n整除,则n不是素数,返回0,否则返回1
            return 0;
    return 1;
}
int main()
{
int i,count;
for(i=2,count=0;i<100;i++) //i初始为2,count初始为0
if(isPrime(i))  //如果i是素数,执行if语句体
{
printf("%-5d",i);
count++;
if(count%10==0)  //每输出10个素数则输出一个换行
printf("
");
}
printf("
");
return 0;
}



第一个for是从2循环到100 为什么没有0和1呢 因为我们已经知道0和1不可能是素数 所以我们不用在循环里面加入这两个数
第二个for是因子 因子就是除数 当然不能为0 为1没有意义 所以当然是从2开始循环
你主要要理解求素数的算法 用这个数从2开始除起一直到他本身(或者是他的开平方) 每次除数加1 如果每次的余数都不为0 说明这个数是素数
我们从程序一步一步看起 第一步n=2 往下运行 i=2 然后进入if判断语句 2%2==0 跳出循环 然后因为2>=2 所以输出了2

for(n=2;n<=100;n++) 是为了遍历100以内的数,保证100以内的每个数都可以检测一下是不是为素数,for(i=2;i<n;i++) 是为了 看看这个数有没有可以除尽的数,有的话就不是素数了 if(i>=n)?这个是判断因数是不是大于等于n,如果是,说明他就是素数了,打印出来同时加个制表符的空格。

因为你用的是for循环语句,for循环首先要有初始而后有终结因为你要求100以内的素数,而素数从二开始,所以第一个语句for循环。第二个for循环是为了确定他是否有因子。因为一个数的因子只可能小于他的本身。如果在i<n的所有数字里都没有他的因子,那么这个数肯定为质数。如果i一直循环到大于n那么这个数必定为质数则可以输出。
其次这道题中的break语句要注意了,注意 break语句的使用。

  • c璇█姹100浠ュ唴鐨勭礌鏁
    绛旓細void main(){ for(int i=2;i<=100;i++)/*纭畾鑼冨洿锛2鈥斺100*/ { for(int k=2;k<i;k++){ if(i%k==0)break;/*濡傛灉鎵惧埌涓涓笉鏄1鎴栬呭畠鏈韩鐨勫洜瀛愶紝鍒欏仠姝㈣寰幆锛屾鏃秌
  • 鐢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涔嬮棿鐨勬墍鏈夎川鏁
    绛旓細寤虹珛涓诲嚱鏁帮細2銆佷富鍑芥暟涓婇潰鏂板缓涓涓垽鏂礌鏁扮殑鍑芥暟isPrime锛屽垽鏂緷鎹槸灏忎簬浠2鍒扮畻鏁板钩鏂规牴鐨勬暟鍗虫槸绱犳暟銆傜劧鍚庡湪涓诲嚱鏁颁腑閬嶅巻2鍒100鐨勬暟锛岃皟鐢╥sPrime鍒ゆ柇婊¤冻绱犳暟鏉′欢灏辫緭鍑猴細3銆佸啓瀹屼唬鐮佹渶鍚庢墦寮缂栬瘧鍚庣殑璋冭瘯绐楀彛锛屽睆骞曞氨浼氭墦鍗板嚭100浠ュ唴鐨鎵鏈夋湁绱犳暟浜嗐備互涓婂氨鏄敤C璇█杈撳嚭100涔嬮棿鐨鎵鏈夌礌鏁鐨勬搷浣滐細...
  • c璇█ 姹100浠ュ唴绱犳暟
    绛旓細include<stdio.h>void main() { int m,n,i,j,b; scanf("%d%d",&m,&n); for ( i=m;i<=n;i++ ) { b=1; for ( j=2;j<=i/2;j++ ) if ( i%j==0 ) { b=0;break; } if ( b ) printf("%d ",i); } printf("\n");} ...
  • 鐢C璇█姹傝В1-100涔嬮棿鐨鎵鏈夌礌鏁銆
    绛旓細Action(){ int i,j;int sum=0;int flag;//鏄惁涓绱犳暟 for(i=2;i<=100;i++){ flag=1;for(j=2;j<=i-1;j++){ if(i%j==0){ flag=0;break;} } if(flag==1){ sum+=i;} } lr_output_message("sum=%d",sum);return 0;} 杈撳嚭鐨勭粨鏋滐細sum=1060 ...
  • 鐢C璇█,鍒ゆ柇1-100涔嬮棿鏈夊灏戜釜绱犳暟,骞惰緭鍑鎵鏈夌礌鏁銆
    绛旓細} 杩愯缁撴灉濡備笅锛2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 鍦ㄨ繖涓▼搴忎腑锛屼娇鐢ㄤ簡涓涓 bool 绫诲瀷鐨勬暟缁勬潵瀛樺偍姣忎釜鏁版槸鍚︿负绱犳暟銆備娇鐢ㄧ瓫娉曠瓫閫夊嚭 1-100 涔嬮棿鐨勭礌鏁帮紝骞惰緭鍑烘瘡涓礌鏁般傞渶瑕佹敞鎰忕殑鏄锛孋 璇█娌℃湁鍐呯疆鐨 bool 绫诲瀷锛岄渶瑕佷娇鐢ㄥご鏂囦欢 ...
  • C璇█缂栫▼鎵惧嚭100浠ュ唴绱犳暟
    绛旓細1.绱犳暟灏辨槸涓涓ぇ浜1鐨勮嚜鐒舵暟锛岄櫎浜1鍜屽畠鏈韩澶栵紝涓嶈兘琚叾浠栬嚜鐒舵暟鏁撮櫎 include <stdio.h>bool IsPrime(int n) { if (n <= 1) return false; if (n % 2 == 0) return n == 2; for (int i = 3; ; i += 2) { if (i > n/i) break; // 绛変环浜 i*i...
  • c璇█缂栫▼姹100浠ュ唴鐨勭礌鏁
    绛旓細include <stdio.h> int isprime(int n){ int i;for(i=3; i*i<=n; i+=2)if(n%i==0)return 0;return 1;} int main(){ int i,n=1;printf("%d ",2);for(i=3; i<100; i+=2)if(isprime(i)){ printf("%d ",i);n++;} printf("\n%d涓绱犳暟\n",n);return 0;} ...
  • C璇█杈撳嚭100浠ュ唴鐨勭礌鏁
    绛旓細conut=0;//count姣忔寰幆閮介渶瑕佽祴鍒濆 for(j=1;j<=i;j++){ if(i%j==0)count++;} if(count==2)//鎶婂畠鎷垮嚭鏉ュ氨濂戒簡 printf("%d ",i);
  • c璇█绋嬪簭涓庢牱杈撳嚭1鍒100鐨勭礌鏁
    绛旓細include "stdio.h"int prime(int n){//鍒ゆ柇n鏄惁涓绱犳暟int i;if(n>2 && !(n&1) || n<2)return 0;for(i=3;i*i<=n;i+=2)if(!(n%i))return 0;return 1;}int main(int argc,char *argv[]){int n;for(n=2;n<100;n += n!=2 ? 2 : 1)if(prime(n))printf("%3d...
  • 扩展阅读:c语言求1~100所有素数 ... python输出前100个素数 ... 编程求1000以内的完数 ... 列出100以内的素数 java ... c语言2到100所有素数 ... 编程素数100以内 ... 1到100全部素数c语言 ... python输出1到100的素数 ... python输入1-100素数 ...

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