c语言 求1到n的素数和

作者&投稿:阿颖 (若有异议请与网页底部的电邮联系)
C语言编程求解1到n之间所有素数之和~

#include#includeint isPrime(int n) ///是素数返回1,否则返回0{int i,k;k = (int)sqrt(n);for(i = 2; i k) return 1;else return 0;}void main(){ int n,i,k,sum=0; printf("输入大于等于1的整数:n
"); scanf("%d",&n);for(i=1;i<=n;i++){ if (isPrime(i)==1) { sum+=i; }}printf("%d",sum);}

#include "stdio.h"int prime(int 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,s,i;printf("Please enter n(int 0<n)...
");if(scanf("%d",&n)!=1 || n<1){printf("Input error, exit...
");return 0;}for(s=0,i=2;i<=n;i++)if(prime(i)){printf("%d ",i);s++;}printf("
A total of %d prime.
",s);return 0;}运行样例:

#include<stdio.h>
main()
{ int i,j,n,sum=1;
  printf("please input a number");
  scanf("%d",&n);
  for(i=2;i<=n;i++)
  {
    for(j=2;j<i;j++)
     {
      if (i%j==0)
       break;
     }
    sum=sum+i;
   }
   printf("和是%d",sum);//这句放这边试试
}

希望对你有所帮助!



你这个素数判断的方法有点问题啊,进去直接2%2肯定就出来了

#include<stdio.h>
main()
{ int i,j,n,sum=1;
printf("please input a number");
scanf("%d",&n);
for(i=2;i<=n;i++)
{for(j=2;j<i;j++)
{if (i%j==0)
break;
sum=sum+i;
}
}
printf("和是%d",sum);
}

你的sum=sum+i;和printf放错地方了!


博湖县18716575286: c语言 求1到n的素数和 -
刘陈乙酰: #include<stdio.h> main() { int i,j,n,sum=1; printf("please input a number"); scanf("%d",&n); for(i=2;i<=n;i++) { for(j=2;j<i;j++) { if (i%j==0) break; } sum=sum+i; } printf("和是%d",sum);//这句放这边试试 }希望对你有所帮助!

博湖县18716575286: 用C语言怎样计算1到N之间的质数的和 -
刘陈乙酰: 思路:你需要两个函数来做.一个判断是1至N中的数哪些是质数,另一个是求和函数把是的加在一块.#include<stdio.h>#include<math.h> int prime(int m); int sum_prime(int n); int main() { int n=0; printf("请输入N:"); scanf("%d",&n); printf...

博湖县18716575286: 用C编程 求1到第n个自然数中所有质数之和
刘陈乙酰: #include <stdio.h> int isSushu(int *n) { int tmp=2,flag=1;//初始化变量:tmp,一个零时被除数.flag,判断标记. do { if(*n==1) { flag=-1; break; }//判断是否为1,因为1既不是素数也不是和数.flag=-1. if(*n==2) { flag=1; break; }//判断是否为2,2...

博湖县18716575286: c语言 1到n的自然数中质数和 -
刘陈乙酰: for(i=1;i { for(j=2;j { //j++是在与这个"{"号对应的"}"号之前的语句 执行完才++的 遇到break的不加 if(i%j==0) break; //循环里面 j else continue; } if(i==j) sum+=i; else continue; }

博湖县18716575286: c语言:从键盘任意输入一个整数n,编程计算并输出1 - n之间的所有素数之和 -
刘陈乙酰: 你的程序中 判断素数并加和的部分有问题 在你的基础上修改如下 PS:main不需要改动 # include int SumPrime(int n) { int i; int k; int sum=0; for(i=2;i<=n;++i ) { for(k=2;k { if(i%k==0) break; } if(k == i) sum+= k; } return sum; } int main (void) { int n; int ...

博湖县18716575286: C语言求助: 从键盘输入任意一个整数n,编程计算并输出1~n之间所有素数之和 要求: 使用模块化思想编程 -
刘陈乙酰: #include <stdio.h> #include <math.h> int ss(int n) /*检查n是否为素数,如果是则返回1,否则返回0*/ { int i; if(n<2) return 0; for (i=2; i<=(int)sqrt((double)n); i++) if (n%i==0) return 0; return 1; } int main(void) { int i,sum=0,n; scanf("%d",&n); for (i=1; i<=n; i++) if(ss(i)) sum+=i; printf("prime sum=%d\n",sum); return 0; }

博湖县18716575286: c语言程序计算1到n之间所有自然数之和 -
刘陈乙酰: int sum1_n(int n) { int sum = 0; for(int i=1; i<=n; i++) sum += i; return sum; }

博湖县18716575286: 编写一个C语言程序求100以内所有素数的和 -
刘陈乙酰: #include int prime(int n)//求素回1,不是返回0 { for(int i=2;i 追问: 用C程序语言怎么判断一个数是不是素数的 追答: int prime(int n)//求素数过程,是返回1,不是返回0 { for(int i=2;i 评论 0 0 0 加载更多

博湖县18716575286: 用c语言编程(求1000之内的素数和)要求只能用函数和 for循环 必须有函数 -
刘陈乙酰: #include <stdio.h>int main(void) {int i, j, count, let; count = 0;let = 0;for(i=1; i<1000; i++){for(j=1; j<=i; j++)if(i%j == 0)count++;if(count == 2)let++;count = 0;}printf("素数个数是:%d\n", let);return 0; } 这个比用函数简单,更简便,可以考虑一下

博湖县18716575286: c语言求100以内素数的和 -
刘陈乙酰: 1解: #include <stdio.h> #include <math.h> int pr(int n) { int i; for (i=2; i<=(int)sqrt(n); i++) if (n%i==0) return 0;return 1; } int main(void) { int i; long int sum=0; for (i=2; i<=100; i++) sum+=pr(i)?i:0; printf("%ld\n",sum); return 0; }2解: #include<...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网