当前位置: 代码迷 >> C语言 >> 素数问题
  详细解决方案

素数问题

热度:304   发布时间:2006-05-08 16:24:00.0
素数问题
我自己编了一个程序,要求如下:
求100―200之间的素数。程序如下:
main()
{
int i,j,k;
int n;

for(i=100;i<=200;i++)
{for(j=2;j<=i-1;j++)
{k=i%j;

if(k==0)
printf("\n%d is not su shu!\n",i); continue;
}
if(k!=0)
printf("\n%d is su shu!\n",i);
}
}
各位帮我看一下这个程序!有问题!我找不出来啊!没有语法错误的!但是就是没有结果!可能是
算法的问题吧!各位高手记得帮我看一下呵!因为我要交给老师看的!给为帮帮我好吗?我谢谢你们拉!!!!



下次再写这种“急! 急! 急!” 之类的题目,立刻删~!!

--------------feng1256
搜索更多相关的解决方案: 素数  

----------------解决方案--------------------------------------------------------
你知道什么是素数不啊?
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------

改好了
int main(void){
int i,j,k;
int n;

for(i=100;i<=200;i++){
for(j=2;j<=i-1;j++)
if( !(k=i%j) ) break;
printf("%d%s素数\n",i,k?"是":"不是");
}
return 0;
}


----------------解决方案--------------------------------------------------------

#include<stdio.h>
main()
{
int i,j,k,c;
int n;

for(i=100;i<=200;i++)
{ c=0;
k=0;
for(j=2;j<=i/2;j++)
{
k=i%j;
if(k==0) c++ ;}

if(c!=0)
printf("\n%d is not su shu!\n",i);

if(c==0)
printf("\n%d is su shu!\n",i);

}
}

你自己看看吧 我在C-FREE上可以通过


----------------解决方案--------------------------------------------------------
以下是引用xiaotan在2006-5-8 16:24:00的发言:
我自己编了一个程序,要求如下:
求100―200之间的素数。程序如下:
main()
{
int i,j,k;
int n;

for(i=100;i<=200;i++)
{for(j=2;j<=i-1;j++)/*其实到i的根方就可以了j<=sqrt(i)*/
{k=i%j;

if(k==0)
printf("\n%d is not su shu!\n",i); continue; /*把continue改为break就可以了/*
}
if(k!=0)
printf("\n%d is su shu!\n",i);
}
}
各位帮我看一下这个程序!有问题!我找不出来啊!没有语法错误的!但是就是没有结果!可能是
算法的问题吧!各位高手记得帮我看一下呵!因为我要交给老师看的!给为帮帮我好吗?我谢谢你们拉!!!!



下次再写这种“急! 急! 急!” 之类的题目,立刻删~!!

--------------feng1256


----------------解决方案--------------------------------------------------------
而且好象他根本不着急...
----------------解决方案--------------------------------------------------------

呵呵
这话说的好


----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{
int i,j,k;
int n;

for(i=100;i<=200;i++)
{
for(j=2;j<=i-1;j++)
{
k=i%j;

if(k==0)
printf("\n%d is not su shu!\n",i);break;}
if(k!=0)
printf("\n%d is su shu!\n",i);
}
}
在VC上是正确 !你要的效果!
----------------解决方案--------------------------------------------------------
是continue引起的原因吧
----------------解决方案--------------------------------------------------------
  相关解决方案