大家帮帮忙看看C语言中的素数问题
来源:百度知道 编辑:UC知道 时间:2024/05/28 13:21:34
输出 101~200之间的全部素数。
#include "stdio.h"
#include "math.h"
void main()
{
int a,i;
for(a=101;a<=200;a++)
for(i=2;i<=sqrt(a);i++)
if(a%i==0) break;
printf("%d",a);
}
这个程序在哪发生了错误呀?
#include "stdio.h"
#include "math.h"
void main()
{
int a,i;
for(a=101;a<=200;a++)
for(i=2;i<=sqrt(a);i++)
if(a%i==0) break;
printf("%d",a);
}
这个程序在哪发生了错误呀?
楼上回答的貌似也不对
楼主的程序等价于:
#include "stdio.h"
#include "math.h"
void main()
{
int a,i;
for(a=101;a<=200;a++)
{
for(i=2;i<=sqrt(a);i++)
{
if(a%i==0) break;
}
}
printf("%d",a);
}
只有1次输出,明显不对
可以改成这样:
#include "stdio.h"
#include "math.h"
void main()
{
int a,i,flag;
for(a=101;a<=200;a+=2)
{
flag=1;
for(i=3;i<=sqrt(a);i+=2)
{
if(a%i==0)
{
flag=0;
break;
}
}
if (flag) printf("%d\t",a);
}
}
少了个括号
#include "stdio.h"
#include "math.h"
void main()
{
int a,i;
for(a=101;a<=200;a++)
{
for(i=2;i<=sqrt(a);i++)
if(a%i==0) break;
printf("%d",a);
}
}