① 键盘输入一个整数n,求2到n之间(包括n)的素数和,用c语言,怎么写
#include <stdio.h>
int main()
{
int N, i, j;
printf("输入一个数:");
scanf("%d", &N);
for (i = 2; i <= N; i++)
{
for (j = 2; j < i; j++)
if (i % j == 0)
break;
if (i == j)
printf("%d ", i);
}
return 0;
}
② C语言中编程求解1到n之间所有素数之和,应该怎么做
#include<stdio.h>
int isprime(int k)
{
int i;
for(i=2;i*i<=k;i++)//这个比较简单通过i*i<=k 来求k的开方i
//2*4=8, 只要判断2和3就可以判断他是否为素数,因为判断了2是否为因素就知道8/2=4为8的/
/////因/素
{
if(k%i==0)
return 0;
}
return 1;
}
int main()
{
int i, n, sum=0;
scanf("%d", &n);
for(i=2;i<=n;i++)
{
if(isprime(i))
sum+=i;
}
printf("%d", sum);
return 0;
}
③ C语言 求小于等于N以内的素数之和。越简单越好,谢谢!
main()
{
int i,j,n;
int sum;
sum=0;
scanf("%d",&n);
for (i=3; i<=n; i++)
{
// 为什么是sqrt(i),思考一下
for (j=2; j<=sqrt(i); j++)
{
// i被j整除,显然不是素数了
if (i%j == 0) break;
}
// i不能被2~sqrt(i)间的数整除,素数也
if (j > sqrt(i))
{
sum += i;
}
}
printf("%d",sum);
}
④ c语言:从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和
#include<stdio.h>
int main()
{
int n,i,j,t,l;
int sum=0;
printf("请输入一个大于2的整数:");
scanf("%d",&n);
l=n;
for(;n>=2;n--)
{
for(i=2;i<n;i++)
{
if(n%i!=0)//判断其为素数
t=1;1
else
{
t=2;
break;
}
}
if(t==1)
{
sum+=n;
//printf("%d ",n);//输出1-n之间的所有素数
}
}
printf("1-%d之间的所有素数和为:%d ",l,sum);
return 0;
}
运行效果:
(4)n之内素数之和c语言程序编写扩展阅读:
以15为例:
因为:1-15之间的素数有13、11、7、5、3、2
所以:13+11+7+5+3+2=41
printf()函数用法:
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
⑤ C语言求范围之内素数的和与个数
按照你的要求编写的C语言程序如下
#include<stdio.h>
int f(int x) //定义判断素数的函数
{
int n,flag=1;
if(x==1) return 0;
for(n=2;n<x;n++)
if(x%n==0)
flag=0;
return flag;
}
int main()
{
int i,N,M,count=0,sum=0;
scanf("%d%d",&N,&M);
for(i=N;i<=M;i++){
if(f(i)==1){
count++;
sum=sum+i;
}
}
printf("%d到%d之间共有%d个素数,它们的和为%d",N,M,count,sum);
return 0;
}
⑥ C语言编程求解1到n之间所有素数之和
#include<stdio.h>
#include<math.h>
intisPrime(intn)///是素数返回1,否则返回0
{
inti,k;
k=(int)sqrt(n);
for(i=2;i<=k;i++)
{
if(n%i==0)
break;
}
if(i>k)
return1;
else
return0;
}
voidmain()
{
intn,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);
}
⑦ c语言输入一个n值,输出1-n之间所有素数之和及素数的个数
#include"stdio.h"
intprime(intn){//素数判断
inti;
if(n>2&&!(n&1)||n<2)
return0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return0;
return1;
}
intmain(intargc,char*argv[]){
intn,s,i;
printf("Pleaseentern(int0<n)... ");
if(scanf("%d",&n)!=1||n<1){
printf("Inputerror,exit... ");
return0;
}
for(s=0,i=2;i<=n;i++)
if(prime(i)){
printf("%d",i);
s++;
}
printf(" Atotalof%dprime. ",s);
return0;
}
运行样例: