当前位置:首页 » 编程语言 » n之内素数之和c语言程序编写
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

n之内素数之和c语言程序编写

发布时间: 2022-12-21 17:51:08

① 键盘输入一个整数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("&lt;格式化字符串&gt;",&lt;参量表&gt;)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

⑤ 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;
}

运行样例: