main()
{
int i,j,s;
for(i=3;i<100;i++ )
{
for (j=2;j<=(i-1);j++)
{
if (i%j!=0) s=1;
else s=0;
}
if (s=1)
printf("%d is prime\t",&i);
}
getch();
}
自己写的,但是结果不对~请教高人指点!
----------------解决方案--------------------------------------------------------
#include <conio.h>
#include <math.h>
main()
{
int i,j,s;
for(i=3;i<100;i++ )
{
s=1;
for (j=2;j<=sqrt(i);j++)
{
if (i%j!=0) s=1;
else{ s=0; break;}
}
if (s==1)
printf(\"%d is prime\t\",i);
}
getch();
}
printf("%d is prime\t",&i);?????????i前面+地址干嘛?
其他的自己斟酌下吧
----------------解决方案--------------------------------------------------------
main()
{
int i,j;
for(i=2;i<100;i++ )
{
for (j=2;j<=(i/2);j++)
if (i%j==0)
break;
if (i%j!=0)
printf("%d\t",i);
}
printf("\n");
}
看下这个对不对
----------------解决方案--------------------------------------------------------
谢谢2楼~刚开始编程,容易出错!
谢谢3楼~答案正确!
----------------解决方案--------------------------------------------------------
素数的定义是除了1和本身外不能被其他的数整除,为什么我j<i就不对呢~~~
----------------解决方案--------------------------------------------------------
#include <math.h>
#include <stdio.h>
main()
{
int i,j;
for (i=1;i<=100;i++)
{
for (j=2;j<=(i/2);j++)
if (i%j==0)
break;
if (i%j!=0)
printf("%2d is prime\t",i);
}
getch();
}
这样能出正确答案而
#include <math.h>
#include <stdio.h>
main()
{
int i,j;
for (i=1;i<=100;i++)
{
for (j=2;j<=i;j++)
if (i%j==0)
break;
if (i%j!=0)
printf("%2d is prime\t",i);
}
getch();
}
就出不来.....
----------------解决方案--------------------------------------------------------
i除以i不是整除吗?那么在判断的时候总是执行上面的!直接跳出了,根本不会去执行下面的!
----------------解决方案--------------------------------------------------------
main()
{
int i,j,s;
for(i=3;i<100;i++ )
{
for (j=2;j<=(i-1);j++)
{
if (i%j!=0) s=1;
else s=0;
}
if (s=1) /*if (s==1)*/
printf("%d is prime\t",&i); /* printf("%d is prime\t",i);
*/
}
getch();
}
自己写的,但是结果不对~请教高人指点!
----------------解决方案--------------------------------------------------------
谢谢楼上的各位~此题结束!
----------------解决方案--------------------------------------------------------
2 是不是素数?
----------------解决方案--------------------------------------------------------