用C语言求解1-100之间的所有素数。 用C语言循环结构求解1-100之间的所有素数。写出程序设计思...
\u5982\u4f55\u7528C\u8bed\u8a00\u8ba1\u7b971\u5230100\u4e4b\u95f4\u7684\u7d20\u6570\u6709\u54ea\u4e9b\uff1f[\u5b66\u4e60]//1.\u7a0b\u5e8f\u5206\u6790\uff1a\u5224\u65ad\u7d20\u6570\u7684\u65b9\u6cd5\uff1a\u7528\u4e00\u4e2a\u6570\u5206\u522b\u53bb\u96642\u5230sqrt(\u8fd9\u4e2a\u6570)\uff0c\u5982\u679c\u80fd\u88ab\u6574\u9664\uff0c\u5219\u8868\u660e\u6b64\u6570\u4e0d\u662f\u7d20\u6570\uff0c\u53cd\u4e4b\u662f\u7d20\u6570\u3002
//2.\u7a0b\u5e8f\u6e90\u4ee3\u7801\uff1a
#include "stdio.h"
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=1;m<=100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;break;
}
if(leap)
{
printf("%-4d",m);
h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
return 0;
}
*\u95ee\u9898\u5206\u6790\u4e0e\u7b97\u6cd5\u8bbe\u8ba1
\u7d20\u6570\u5c31\u662f\u4ec5\u80fd\u88691\u548c\u5b83\u81ea\u8eab\u6574\u9664\u7684\u6574\u6570\u3002\u5224\u5b9a\u4e00\u4e2a\u6574\u6570n\u662f\u5426\u4e3a\u7d20\u6570\u5c31\u662f\u8981\u5224\u5b9a\u6574\u6570n\u80fd\u5426\u88ab\u96641\u548c\u5b83\u81ea\u8eab\u4e4b\u5916\u7684\u4efb\u610f\u6574\u6570\u6574\u9664\uff0c\u82e5\u90fd\u4e0d\u80fd\u6574\u9664\uff0c\u5219n\u4e3a\u7d20\u6570\u3002
\u7a0b\u5e8f\u8bbe\u8ba1\u65f6i\u53ef\u4ee5\u4ece2\u5f00\u59cb\uff0c\u5230\u8be5\u6574\u6570n\u76841/2\u4e3a\u6b62\uff0c\u7528i\u4f9d\u6b21\u53bb\u9664\u9700\u8981\u5224\u5b9a\u7684\u6574\u6570\uff0c\u53ea\u8981\u5b58\u5728\u53ef\u4ee5\u6574\u9664\u8be5\u6570\u7684\u60c5\u51b5\uff0c\u5373\u53ef\u786e\u5b9a\u8981\u5224\u65ad\u7684\u6574\u6570\u4e0d\u662f\u7d20\u6570\uff0c\u5426\u5219\u662f\u7d20\u6570\u3002
*\u7a0b\u5e8f\u4e0e\u7a0b\u5e8f\u6ce8\u91ca
#include
void main()
{
int n1,nm,i,j,flag,count=0;
do{
printf("Input START and END=?");
scanf("%d%d",&n1,&nm); /*\u8f93\u5165\u6c42\u7d20\u6570\u7684\u8303\u56f4*/
}while(!(n1>0&&n1<nm)); /*\u8f93\u5165\u6b63\u786e\u7684\u8303\u56f4*/
printf("...........PRIME TABLE(%d--%d)............\\n",n1,nm);
if(n1==1||n1==2) /*\u5904\u7406\u7d20\u65702*/
{
printf("%4d",2);
n1=3;count++;
}
for(i=n1;i<=nm;i++) /*\u5224\u5b9a\u6307\u5b9a\u8303\u56f4\u5185\u7684\u6574\u6570\u662f\u5426\u4e3a\u7d20\u6570*/
{
if(!(i%2))continue;
for(flag=1,j=3;flag&&j<i/2;j+=2)
/*\u5224\u5b9a\u80fd\u5426\u88ab\u4ece3\u5230\u6574\u6570\u7684\u4e00\u534a\u4e2d\u7684\u67d0\u4e00\u6570\u6240\u6574\u9664*/
if(!(i%j))flag=0; /*\u82e5\u80fd\u6574\u9664\u5219\u4e0d\u662f\u7d20\u6570*/
if(flag) printf(++count%15?"%4d":"%4d\\n",i);
}
}
Action()
{
int i,j;
int sum=0;
int flag;//是否为素数
for(i=2;i<=100;i++){
flag=1;
for(j=2;j<=i-1;j++){
if(i%j==0){
flag=0;
break;
}
}
if(flag==1){
sum+=i;
}
}
lr_output_message("sum=%d",sum);
return 0;
}
输出的结果:sum=1060
扩展资料:
方法二、使用函数:
Action()
{
int i;
int sum=0;
for(i=2;i<=100;i++){
if(isPrime(i)){
sum+=i;
}
}
lr_output_message("素数之和sum=%d",sum);//loadrunner的输出,其他编译器可能是printf
return 0;
}
int isPrime(a){
int j;
int flag=1;
for(j=2;j<=a-1;j++){
if(a%j==0){
flag=0;
break;
}
}
return flag;
}
#include <stdio.h>
#include <math.h>
int f(int n)
{
int i;
//素数标准:只能被自己和1整除的数字
for(i=2;i<=sqrt(n);i++)
{
//能被其他数整除,就不是素数
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int i,k=0;
printf("1至100之间的素数从小到大分别为:
");
for(i=2;i<=100;i++)
{
//依次判断所有数字是否为素数
if(f(i))
{
k++;
printf("%d",i);
}
}
printf("
总共%d个。
",k );
return 0;
}
主要是素数的判定
int prim(int m)
{
int i=2;
int result = 0;
for(i=2;i<m;i++)
{
if(m%i==0)//模运算,求余数
{
result = 1;
break;
}
}
return result;
}
int main()
{
int i;
for(i=2;i<=100;i++)
{
if(!prim(i))
printf("%5d",i);
}
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c;
for(a=1;a<=100;a++)
{
for(b=1,c=0;b<=a;b++)
if(a%b==0) c++;
if(c<=2) printf("%d\n",a);
}
system("pause");
return 0;
}
1 #include <stdio.h>
2
3 int main(void){
4 int i = 0;
5 int j = 0;
6 int cnt = 0;//cnt表示被整除的次数
7 int size = 0;//size表示素数个数
8 for(i = 2;i <= 100;i++){//1不是素数 所以从2开始循环
9 for(j = 2;j <= 100;j++){
10 if(i % j == 0){
11 cnt++;
12 }
13 }
14 if(cnt == 1){
15 printf("%d ",i);
16 size++;
17 }
18 cnt = 0;
19 }
20 printf("
");
21 printf("%d
",size);
22 return 0;
23 }
输出结果:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
25
绛旓細1銆佽緭鍏鍜孨锛2銆侀亶鍘嗕粠M鍒癗鐨勬墍鏈夋暣鏁帮紱3銆佹瘡涓疮鍔狅紱4銆佽緭鍑虹粨鏋溿傚弬鑰冧唬鐮侊細include <stdio.h>int main(){ int M,N,n,s=0; scanf("%d%d",&M,&N);//杈撳叆 for(n = M; n <= N; n ++)//閬嶅巻 s+=n;//绱姞姣忎釜鏁存暟銆 printf("%d\n",s);//杈撳嚭缁撴灉銆
绛旓細int sum=0;int flag;//鏄惁涓虹礌鏁 for(i=2;i<=100;i++){ flag=1;for(j=2;j<=i-1;j++){ if(i%j==0){ flag=0;break;} } if(flag==1){ sum+=i;} } lr_output_message("sum=%d",sum);return 0;} 杈撳嚭鐨勭粨鏋滐細sum=1060 ...
绛旓細include <stdio.h>#define MAX 100 /*100浠ュ唴鐨勫畬鍏ㄦ暟*/int main (void) {int x,temp,sum; /*X琛ㄧず瑕佸垽鏂殑鏁帮紝temp琛ㄧず鏁扮殑鍥犲瓙锛宻um琛ㄧず鍥犲瓙涔嬪拰*/for (x=1; x<=MAX; x++) {sum= 0;for(temp=1; temp<x; temp++) { /*鍒ゆ柇x鑳藉惁琚玹emp鏁撮櫎锛屽鏋滃彲浠ワ紝鍒欐槸鍥犲瓙锛岃繘琛屾眰鍜*/if...
绛旓細include <string.h> int main(){ int i,j,s,n=0,m;int a[10];for(i=2;i<=100;i++){ s = 0;n = 0;memset(a, 0, sizeof(a)); //娓呴浂 for (j=1;j<i;j++){ if (i%j==0){ a[n]=j ;n++ ;s=s+j;} } if ( { printf("%d its factors are : ",s);...
绛旓細鍦–璇█涓紝鍙互浣跨敤寰幆缁撴瀯鍜屽垽鏂鍙ユ潵姹1鍒100涔嬮棿鐨勫叏閮ㄥ鏁颁箣鍜銆傚叿浣撳仛娉曞彲浠ユ槸:瀹氫箟涓涓彉閲忔潵瀛樺偍濂囨暟涔嬪拰 浣跨敤涓涓惊鐜粨鏋勯亶鍘1鍒100 鍦ㄥ惊鐜腑浣跨敤鍒ゆ柇璇彞鍒ゆ柇褰撳墠鏁版槸鍚︿负濂囨暟 濡傛灉褰撳墠鏁颁负濂囨暟,鍒欏皢鍏跺姞鍒板鏁颁箣鍜屽彉閲忎腑 寰幆缁撴潫鍚,杈撳嚭濂囨暟涔嬪拰 鍏蜂綋绀轰緥濡備笅锛氳鐐瑰嚮杈撳叆鍥剧墖鎻忚堪 int ...
绛旓細涓銆鐢–璇█璁$畻1鍒100鐨绱姞鐨勬楠 1銆侀鍏堬紝鎵撳紑Visual C++锛2銆侀夋嫨鏂囦欢锛屾柊寤猴紱3銆佸乏渚ч夋嫨win32 console application锛屽苟鍦ㄥ彸渚ч夋嫨杈撳叆宸ョ▼鐨勫悕绉板拰鍦板潃锛岀偣鍑荤‘瀹氾紱4銆侀夋嫨涓涓┖宸ョ▼锛屽畬鎴愶紱5銆佸啀娆$偣鍑绘枃浠讹紝鏂板缓锛6銆侀夋嫨c++source file 骞惰緭鍏ユ枃浠跺悕锛岀偣鍑荤‘瀹氾紱7銆佽緭鍏ュ鍥炬墍绀虹殑浠g爜锛屾敞鎰...
绛旓細if(n1==1||n1==2) /*澶勭悊绱犳暟2*/ { printf("%4d",2);n1=3;count++;} for(i=n1;i<=nm;i++) /*鍒ゅ畾鎸囧畾鑼冨洿鍐呯殑鏁存暟鏄惁涓虹礌鏁*/ { if(!(i%2))continue;for(flag=1,j=3;flag&&j
绛旓細} if(start%2 == 0) { for (i = start; i<end+1; i+=2) { even += i; } for (i = start+1; i<end+1; i+=2) { odd += i; } } if(start%2 == 1)
绛旓細include<stdio.h> void main(){ int sum,i;sum=0;for(i=1;i<=100;i++){ sum = sum+i;} printf("%d",sum);} 鎴 include<stdio.h> void main(){ int sum;sum=0;sum = 101*100/2;printf("%d",sum);}
绛旓細1锛屾渶瀹规槗鐞嗚В鐨勫仛娉 include<stdio.h> main(){ int i,sum;for(i=3;i<100;i=i+3)sum+=i;printf("sum=%d\n",sum);} 2, #include<stdio.h> include<math.h> main(){int i,j,n,m=0;for(i=101;i<=500;i+=2){ n=sqrt(i+1) //锛+1锛変互鍏嶆暟鎹瓨鍌ㄨ宸 for (j=2...