⑴ 用c語言 求素數之和(即求出素數並相加)
//函數isPrime判斷參數num是否是素數
int isPrime(int num) {
int i;
for(i=2;i<=i/2;k++)
{
if(num%i==0) {
return 0;//num不是素數
}
}
return 1; //num是素數
}
//main函數,進行測試
void main(){
int i;
int primeSum=0;
for(i=2;i<=100;i++) { //此處修改求多大數范圍之內的素數之和
if(1==isPrime(i)) {
primeSum+=i;
}
}
printf("\n100以內的所有素數之和為:%d\n",primeSum);
}
⑵ C語言編程求100—1000內的素數個數及和
給你一個超簡潔的代碼吧:
#include<stdio.h>
#include<math.h>
void
main(){
int
i,k,count=0;
/*count用於統計素數個數*/
long
sum=0;
/*sum存儲素數累加和,由於其和超過2^15-1,所以必須用長整形*/
for(i=100;i<=1000;i++){
for(k=2;k<=sqrt(i)
&&
i%k!=0;k++);
/*
這一步是超簡結寫法,直接將if判斷寫入for判斷語句中*/
if(k>sqrt(i)){
/*如果k>sqrt(i),說明上面的循環條件都不滿足,故i的值就是一個素數*/
count++;
sum+=i;
}
}
printf("100~1000之間共有
%d
個素數\n它們的和是:%
ld
",count,sum);
}