用C语言编写在自然数中输出100以内的素数? 输出100以内的质数,用c语言编写
\u8f93\u51fa100\u4ee5\u5185\u7684\u8d28\u6570\uff0c\u7528c\u8bed\u8a00\u7f16\u5199#include
int main()
{
int i,j;
int count=0;
for(i=2;i<100;i++)
{
for(j=2;j<=i/2;j++)
if(i%j==0)//\u5982\u679ci\u80fd\u88abj\u6574\u9664 \u5c31\u4e0d\u662f\u8d28\u6570 \u9000\u51fa\u5faa\u73af
break;
if(j>i/2)
{
count++;
printf("%-3d",i);
if(count%5==0)//\u5f53\u6bcf\u4e00\u884c\u67095\u4e2a\u6570\u65f6 \u6362\u884c
printf("\n");
}
}
return 0;
}
for(j=2;j<=i/2;j++)\u4e2d\u7684 j<=i/2\u662f\u8868\u793a \u4ecej=2\u5f00\u59cb\u904d\u5386\u5230j=i/2 \u770b\u770b2~i/2\u4e2d\u80fd\u5426\u6574\u9664i
\u5982\u679c\u90fd\u4e0d\u80fd \u8bf4\u660ei\u662f\u8d28\u6570(\u4e5f\u5c31\u662fj>i/2)
\u5982\u679c\u67091\u4e2a\u53ca\u4ee5\u4e0a\u80fd\u6574\u9664i \u8bf4\u660ei\u4e0d\u662f\u8d28\u6570
for()
{
}
//for\u5faa\u73af\u7ed3\u675f\u4e4b\u540e j\u7684\u503c\u662f\u5927\u4e8ei/2\u7684 \u56e0\u4e3afor\u5faa\u73af\u7684\u6761\u4ef6\u662f:j<=i/2
//\u56e0\u6b64 \u5f53j>i/2\u65f6 for\u5faa\u73af\u7ed3\u675f
if(j>i/2)
\u8fd9\u91cc\u5f53\u4e14\u4ec5\u5f532~i/2\u90fd\u4e0d\u80fd\u6574\u9664i\u65f6 \u4e5f\u5c31\u662fj>i/2 \u624d\u8bf4\u660ei\u662f\u8d28\u6570
\u53c2\u8003\u8d44\u6599
\u8f93\u51fa100\u4ee5\u5185\u7684\u8d28\u6570\uff0c\u7528c\u8bed\u8a00\u5982\u4f55\u7f16\u5199\uff1f.\u767e\u5ea6\u77e5\u9053[\u5f15\u7528\u65f6\u95f42017-12-25]
#include
int main()
{
int i,j;
int count=0;
for(i=2;i<100;i++)
{
for(j=2;j<=i/2;j++)
if(i%j==0)//\u5982\u679ci\u80fd\u88abj\u6574\u9664 \u5c31\u4e0d\u662f\u8d28\u6570 \u9000\u51fa\u5faa\u73af
break;
if(j>i/2)
{
count++;
printf("%-3d",i);
if(count%5==0)//\u5f53\u6bcf\u4e00\u884c\u67095\u4e2a\u6570\u65f6 \u6362\u884c
printf("\n");
}
}
return 0;
}
for(j=2;j<=i/2;j++)\u4e2d\u7684 j<=i/2\u662f\u8868\u793a \u4ecej=2\u5f00\u59cb\u904d\u5386\u5230j=i/2 \u770b\u770b2~i/2\u4e2d\u80fd\u5426\u6574\u9664i
\u5982\u679c\u90fd\u4e0d\u80fd \u8bf4\u660ei\u662f\u8d28\u6570(\u4e5f\u5c31\u662fj>i/2)
\u5982\u679c\u67091\u4e2a\u53ca\u4ee5\u4e0a\u80fd\u6574\u9664i \u8bf4\u660ei\u4e0d\u662f\u8d28\u6570
for()
{
}
//for\u5faa\u73af\u7ed3\u675f\u4e4b\u540e j\u7684\u503c\u662f\u5927\u4e8ei/2\u7684 \u56e0\u4e3afor\u5faa\u73af\u7684\u6761\u4ef6\u662f:j<=i/2
//\u56e0\u6b64 \u5f53j>i/2\u65f6 for\u5faa\u73af\u7ed3\u675f
if(j>i/2)
\u8fd9\u91cc\u5f53\u4e14\u4ec5\u5f532~i/2\u90fd\u4e0d\u80fd\u6574\u9664i\u65f6 \u4e5f\u5c31\u662fj>i/2 \u624d\u8bf4\u660ei\u662f\u8d28\u6570
\u53c2\u8003\u8d44\u6599
\u8f93\u51fa100\u4ee5\u5185\u7684\u8d28\u6570\uff0c\u7528c\u8bed\u8a00\u5982\u4f55\u7f16\u5199\uff1f.\u767e\u5ea6\u77e5\u9053[\u5f15\u7528\u65f6\u95f42017-12-25]
#include<stdio.h>
//输出100之内的所有素数
int main()
{
int i;
int j;
int flag = 1;
for(i = 2;i <= 100;i++)
{
for(j = 2;j <= i / 2;j++)
{
if(i % j ==0)
{
flag = 0;
break;
}
}
if(flag == 1)
{
printf("%d
",i);
}
flag = 1;
}
return 0;
}
扩展资料
#include <stdio.h>
int main()
{
int a;
for (int i = 2; i < 100; i++)
{
int a = 0;
/* code */
for (int j = 2; j < i; j++)
{
/* code */
if (i % j == 0)
{
/* code */
a++;
}
}
if (a == 0)
{
/* code */
printf("%d is sushu
", i);
}
else
{
/* code */
printf("%d is not sushu
", i);
}
}
return 0;
}
在自然数中输出100以内的素数的源代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
int x;
scanf("%d",&x);
if(x==2||x==3)
{
printf("%d是素数",x);
return 0;
}
else if((x==1)||(x%6!=1&&x%6!=5))
{
printf("%d不是素数",x);
return 0;
}
else
{
for(int i=5;i<=sqrt(x);i+=6)
if(x%i==0||x%(i+2)==0)
{
printf("%d不是素数",x);
return 0;
}
printf("%d是素数",x);
return 0;
}
扩展资料
/*判断101-200之间有多少个素数,并输出所有素数及素数的个数的源代码如下:
#include "math.h"
main()
{
intm,i,k,h=0,leap=1;
printf("
");
for(m=101;m<=200;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;break;
}
if(leap) /*内循环结束后,leap依然为1,则m是素数*/
{printf("%-4d",m);h++;
if(h%10==0)
printf("
");
}
leap=1;
}
printf("
Thetotal is %d",h);
}
我提供两种方法先是最简单的数组筛子:把数组下标当做对象;
#include <stdio.h>
int main()
{
int a[101]={0},i,m;
for(i=2;i<=100;i++)
for(m=2;i*m<=100;m++)
a[i*m]=1; \*被赋为1的数组元素的下标则不是素数*\
for(i=2;i<=100;i++)
if(a[i]==0)
printf("%d",i);
}
下面给出另一代码:
#include <stdio.h>
int main()
{
int i,j,k=1;
printf("100以内的素数有:2 "); \*首先输出2*\
for(i=3;i<=100;i++)
{ for(j=2;j<i;j++)
if(i%j==0) { k=0;break; }
if(k==1)
printf("%d ",i);
}
}
上面代码还可用到sqrt()函数for(j=2;j<i;j++)改为for(j=2;j<sqrt(i);j++)这样可简化计算。希望对你有帮助。
#include <stdio.h>
int main(void)
{
int i,j,k;
printf("%d\n",2);2肯定是素数[em02]
for(i=1;i<=100;i+=2)
{
for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
printf("%d\n",i);
}
return 0;
}
C语言经典例子之求100之内的素数
绛旓細include<stdio.h> int main(){int a[100],n,i,t,*p,*q;scanf("%d",&n);for(p=a;p<a+n;p++)scanf("%d",p);for(p=a;p<a+n-1;p++)for(q=a;q*(q+1)%2||*q%2==0&&*(q+1)%2==0&&*q>*(q+1)||*q%2==1&&*(q+1)%2==1&&*q<*(q+1)){t=*q;*q=...
绛旓細// 闅忔満鏁扮殑鑼冨洿銆傚洜涓烘槸涓変綅鏁帮紝鎵浠ヨ寖鍥存槸锛歔100,999]int min = 100, max = 999;// 闇瑕佺殑闅忔満鏁颁釜鏁帮紝涓 100 涓倁nsigned int n = 100;int *data = randNumber(min, max, n);if(NULL != data)print(data, n, 10);else printf("浜х敓闅忔満鏁板け璐ワ紒\n");return 0;} / 杩愯...
绛旓細鍦C璇█鍐绋嬪簭杈撳嚭鏃讹紝瑕佹帶鍒舵瘡琛岃緭鍑烘暟鎹殑涓暟锛屽彲浠ラ氳繃鑷畾涔夎鏁板櫒鏉ュ畬鎴愩傚锛// 杈撳嚭鑷劧鏁1-30锛屾瘡5涓暟涓轰竴琛宮ain(){ int i;int cnt=0; // 瀹氫箟cnt鐢ㄤ綔杈撳嚭鏁版嵁鐨勮鏁板櫒锛屽垵濮嬩负0for( i=1;i<=30;i++ ) // 寰幆30娆 printf("%5d",i); // 杈撳嚭鏁版嵁鍊糲nt++;...
绛旓細printf("浠1鍒扮n涓鑷劧鏁颁腑濂囨暟鐨勪釜鏁版湁锛%d\n",IntFun(n));puts("浠1鍒扮n涓嚜鐒舵暟涓鏁版槸锛");printNumber(n);printf("\n");printf("\n");printf("鎯宠缁х画鍚楋紵y / n\n");if(((getchar())=='Y') || ((getchar())=='y'))flag=1;else flag=0;} return 0;} ...
绛旓細瑙o細婧愮▼搴忓涓嬶細main(){ int i,p=1;for (i=1;i<=10;i++){ printf("%d*%d=%d\n",i,i,i*i);p=1;if (i%2==0)printf("\n");} }
绛旓細include<stdio.h> int main(){ int a,count=0;scanf("%d",&a);while(a){ count++;a/=10;} printf("%d",count);return 0;} 婊℃剰璇烽噰绾
绛旓細缁欎綘鍏抽敭鎬х殑鎻愮ず锛歩nt b=M/100; 鐧句綅涓婄殑鏁板瓧 int s=(M-b*100)/10; 鍗佷綅涓婄殑鏁板瓧 int g=M%10; 鍚勪綅涓婄殑鏁板瓧 鎬庝箞杈撳叆鏁板瓧鑷繁鏌ヤ笅涔︺
绛旓細//杈撳嚭0~1000鍐呮墍鏈夊畬鏁板強鍏跺洜瀛// include<stdio.h> void main(){ int i,j,t,s,k;for(i=1;i<=1000;i++){ t=i;s=0;//淇濊瘉姣忔寰幆寮濮嬫椂s鐨勫奸兘鏄0// for(j=1;j<t;j++){ if(t%j==0){ s=s+j;} } if(s==i){ printf("%d its factors are ",i);printf("1")...
绛旓細printf锛堬紓锛糿缁勬垚鐨勬渶澶х殑鏁帮細锛糿锛傦級锛沠or锛坕锛9锛沬锛烇紳0锛沬锛嶏紞锛夛經 for锛坖锛漚rr锛籭锛斤紱j锛0锛沯锛嶏紞锛塸rintf锛堬紓锛卍锛傦紝i锛夛紱锝 printf锛堬紓锛糿锛傦級锛涳紡锛杈撳嚭杩欎簺鏁扮粍鎴愮殑鏈灏忕殑鏁帮紝娉ㄦ剰锛0涓嶈緭鍑 printf锛堬紓锛糿缁勬垚鐨勬渶灏忕殑鏁帮細锛糿锛傦級锛沠or锛坕锛1锛沬锛滐紳9锛沬锛嬶紜锛夛經 for...
绛旓細include<stdio.h> int main(){ int n;scanf("%d",&n);int c[10],sum=0,count=0;for(;n>=13;n--){ if(n%13==0||n%17==0){ c[count]=n;sum+=c[count];printf("%d.%d\n",count+1,c[count]);count++;if(count>=10) break;} } printf("%d\n",sum);return 0;} ...