① 鍵盤輸入一個整數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;
}
運行樣例: