C语言的程序:哥德巴赫猜想验证(从6-30000000),给每句后面加上一个注释,每句分别是什么意思?谢谢!

C语言的程序:哥德巴赫猜想验证(从6-30000000),给每句后面加上一个注释,每句分别是什么意思?谢谢!,第1张

# include<stdio.h>

# include<math.h>

int isPrime(int t)

void prnt(int i) //这里声明两个函数,第一个是判断一个数是不是素数,第二个是判断是否符

int main() 合哥德巴赫猜想,符合则打印这个数

{

int sum,n

n=0

for(sum=6sum<=300000000sum=sum+2) //循环从6到300000000之间的偶数判断是否符合哥 德巴赫

{

prnt(sum)

n++

if(n%5==0)

printf("\n")//每行输出5个数后换行

}

printf("\n")

return 0

}

void prnt(int i)

{

int m

for (m=3m<=10000m++) //循环从3开始寻找素数,因为哥德巴赫猜想是一个偶数等于两个素数的和,所以用要使用的这个偶数减去第一个素数,如果差是素数,则这个偶数符合哥德巴赫猜想。所以找到素数m后,再判断(i-m)是否为素数,然后打印出来

{

if(isPrime(m))

if(isPrime(i-m))

{

printf("%d=%d+%d ",i,m,(i-m))

break

}}

}

int isPrime(int t) //判断一个数是不是素数,这个函数应该不用多说 吧,不是素数返回0,是素数返回1

{

int j

for(j=2j<=sqrt(t)j++)

if(t%j==0)

return 0

return 1

}

希望能帮到你!

//希望我的回答对你的学习有帮助

#include<stdio.h>           

int main(){

int  p,r,n,m,temp

   printf("请输入两个正整数n,m:")

   scanf("%d%d",&n,&m)

   if (n<m){

     temp=n

     n=m

     m=temp

    }

   p=n*m

   while(m!=0){

     r=n%m

     n=m

     m=r

    }

   printf("它们的最大公约数为:%d\n",n)

printf("们的最小公约数为:%d\n",p/n)

   return 0

}

1、★编写程序,输入两个整数:1500和350,求出它们的商和余数并输出。

main()

{int a

int b

scanf("%d%d",a,b)

printf("商:%d\n余数:%d",a/b,a%b)

}

2、★编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,b中原来的值给c, c中原来的值给a,且输出改变后的a,b,c的值

main()

{int a

int b

int c

int tmp

scanf("%d%d%d",a,b,c)

printf("a:%d b:%d c:%d",a,b,c)

tmp=c

c=b

b=a

a=c

printf("a:%d b:%d c:%d",a,b,c)

}

3、★输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求连同算式一起输出,每个算式占一行。

main()

{int a

int b

scanf("%d%d",a,b)

printf("a+b=%d\na-b=%d\na*b=%d\na/b=%d\n(float)a/b=%f\na%b=%d",a+b,a-b,a*b,a/b,(float)a/b,a%b)

}

4、★输入一个非负数,计算以这个数为半径的圆周长和面积。

main()

{float a

scanf("%f",a)

printf("周长=%f\n面积=%f",2*a*3.14,3.14*a*a)

}

5、★输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321).

main()

{int a

int b

scanf("%d",a)

printf("%d",a%10)

a=a%100

printf("%d",a%10)

a=a%10

printf("%d",a%10)

}

6、★输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)

main()

{int a

int b

int c

int n=0

scanf("%d%d%d",a,b,c)

a%2==1?n++:a

b%2==1?n++:b

c%2==1?n++:c

if n==2

printf("YES")

else

printf("NOT")

}

7、★求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。

main()

{char a

scanf("%c",a)

printf("%c%c%c"a-1,a,a+1)

}

累啊


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12200050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存