| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1521 人关注过本帖
标题:素数问题
只看楼主 加入收藏
seagullFHcn
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-5-9
收藏
得分:0 
for(j=2;j<=i-1;j++)
这个循环不用循环这么多次
太浪费了
2006-05-09 20:58
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 
以下是引用djx20040701在2006-5-8 17:49:00的发言:
#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上是正确 !你要的效果!

你和楼主犯了同样的错!为什么还说能得到正确的结果呢?
是不是输出的太多了!你只能看到最后面的几十行啊?
就这样的轻易的下了结论了!
反正我在win-tc上面没有得到正确的结果!


2006-05-10 03:50
xiaotan
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-5-5
收藏
得分:0 

呵呵!非常感谢大家的帮忙!我已经解决了!谢谢你们!

2006-05-11 09:48
xsimon
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-5-5
收藏
得分:0 

//用筛选法求100之内的素数.
#include<stdio.h>
#define N 101

int main(void)
{
int i,j,a[N];
printf("the numbers are:\n");

for(i=2;i<N;i++)//是否必须把i=2改为i=3
a[i]=i;

for(i=0;i<N;i++)
for(j=0;j<i;j++)
{
if(a[j]!=0)
if(a[i]%a[j]==0)
a[i]=0;
}

for(i=2;i<N;i++)
{
if(a[i]!=0)
printf("%2d ",a[i]);
}

getch();
return 0;
}
运行结果会有一个2. 因为i=2没有进行i%j的计算. 是否必须把前面的三个不输出?

[此贴子已经被作者于2006-5-22 16:12:32编辑过]

2006-05-22 16:03
graphics
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-5-22
收藏
得分:0 
以下是引用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++)
{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

应该是这样的吧。。如果你是用WIN TC可能由于屏幕关系。。上面几位不能显示
#include"stdio.h"
#include"math.h"
main()
{int i,j;
for(i=190;i<=150;i++)
{ for(j=2;j<sqrt(i);j++)
{ if(i%j==0)
{printf("%d is not a sushu \n",i);
break;
}

else continue;
}
if(j>sqrt(i))

printf("%d is a sushu\n",i);
}
getch();
}


我爱生活。。我爱编程
2006-05-22 19:16
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
以下是引用graphics在2006-5-22 19:16:00的发言:

应该是这样的吧。。如果你是用WIN TC可能由于屏幕关系。。上面几位不能显示
#include"stdio.h"
#include"math.h"
main()
{int i,j;
for(i=190;i<=150;i++) //能正常运行?!初值大于终值,还I++?
{ for(j=2;j<sqrt(i);j++)
{ if(i%j==0)
{printf("%d is not a sushu \n",i);
break;
}

else continue;
}
if(j>sqrt(i))

printf("%d is a sushu\n",i);
}
getch();
}


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-23 05:04
快速回复:素数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027043 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved