c语言问题求解 请说明下过程

来源:百度知道 编辑:UC知道 时间:2024/06/03 00:28:42
#include "stdio.h"
#include "math.h"
int prime(int n)
{
int i,k
k=sqrt(n); 这里这个是什么看不明白
for(i=2;i<=k;i++)
if(n%i==0)
return 0;
return 1;
}
main()
{
int a,b,n,k;
while(1) 这里1是什么意思
{
print("please input a number>=6:\n");
scanf("%d",&n);
if(n>=6)
break;
}
for(k=6;k<=n;k+=2)
for(a=3;a<=k/2;a+=2
if(prime(a)) 这里的if起什么作用没有型不行?
{
b=k-a'
if(prime(b))
{
printf("%d=%d+%d\n",k,a,b);
}
}
}
这里sqrt(n)怎么计算啊?

#include "stdio.h"
#include "math.h"
int prime(int n) /*此函数的作用是判断n是否为素数*/
{
int i,k;
k=sqrt(n); /*这里函数sqrt()是指求平方根*/
for(i=2;i<=k;i++)
if(n%i==0)
return 0;
return 1;
}
main()
{
int a,b,n,k;
while(1) /*1表示循环条件为“真”,即死循环*/
{
printf("please input a number>=6:\n");
scanf("%d",&n);
if(n>=6)
break;
} /*直到输入的数大于等于6才跳出循环*/
for(k=6;k<=n;k+=2)
for(a=3;a<=k/2;a+=2)
if(prime(a)) /*不能没有,这里是来判断a是否为素数*/
{
b=k-a;
if(prime(b))
{
printf("%d=%d+%d\n",k,a,b);
}
}
}
输入: 10
结果: 6=3+3
8=3+5
10=3+7
10=5+5

#include "stdio.h"
#include "math.h"
int prime(int n)
{
int i,k
k=sqrt(n); //k为n的平方根
for(i=2;i<=k;i++)