| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1523 人关注过本帖
标题:素数问题
只看楼主 加入收藏
xsimon
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-5-5
收藏
得分:0 

楼上的楼上你的只是相当于判断是不是一个偶数. 因为只运行到J=2.

2006-05-08 18:31
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
/*实际上可以如此简短*/
#include<stdio.h>
#include<conio.h>
main()
{ int i,j;
for(i=100;i<=200;i++){
for(j=2;j*j<=i&&i%j;j++);
if(i%j)printf("%-4d",i);}
getch();
}

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-08 18:38
xsimon
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-5-5
收藏
得分:0 
以下是引用wang12zx在2006-5-8 16:42:00的发言:

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

for(i=100;i<=200;i++)
{
c=0;
k=0; //应该不用定义K=0吧.
for(j=2;j<=i/2;j++) //只需要判断J<15就OK.
{
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上可以通过

2006-05-08 18:44
roy_guo
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-4-27
收藏
得分:0 

#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("%d ",i);

}
}

这个算法比较笨,可以使用欧几里得算法


彪悍的人生不需要解释~~~
2006-05-08 19:05
herotobe
Rank: 1
等 级:新手上路
威 望:1
帖 子:48
专家分:0
注 册:2006-5-3
收藏
得分:0 

[QUOTE]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; /*此句改成 { printf("\n%d is not su shu !\n",i);break; } 不要忘了括号 */
}
if(k!=0)
printf("\n%d is su shu!\n",i);
}
}[/QUOTE]


[此贴子已经被作者于2006-5-8 19:30:32编辑过]


After all,tomorrow is another day!!!!
2006-05-08 19:22
xsimon
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-5-5
收藏
得分:0 
以下是引用–★–在2006-5-8 18:38:00的发言:
/*实际上可以如此简短*/
#include<stdio.h>
#include<conio.h>
main()
{ int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j*j<=i&&i%j;j++); // 能解释下j*j<=i&&i%j;吗? 如果I=105, j=2. (j*j<=i&&i%j)=1. if(i%j) =f(1) 应该就会输出i. 难道(j*j<=i&&i%j)=1会一直循环到=0为止?

if(i%j)
printf("%-4d",i);
}
getch();
}

2006-05-08 19:46
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
回复:(xsimon)以下是引用–★–在2006-5-8 18:38:0...
运行了我的程序再跟我对话,懂吗?否则免谈。

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-08 19:52
xsimon
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-5-5
收藏
得分:0 
以下是引用–★–在2006-5-8 19:52:00的发言:
运行了我的程序再跟我对话,懂吗?否则免谈。

我当然是运行了. 但还是不太明白. 谢谢.

2006-05-08 19:54
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
for(j=2;j*j<=i&&i%j;j++); // 能解释下j*j<=i&&i%j;吗? 如果I=105, j=2. (j*j<=i&&i%j)=1. if(i%j) =f(1) 应该就会输出i. 难道(j*j<=i&&i%j)=1会一直循环到=0为止?
if(i%j)printf("%-4d",i);
可是105毕竟没有显示出来呀!因为你这粗心的家伙:
for(j=2;j*j<=i&&i%j;j++)此处有分号呀

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-08 20:05
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

想不明白的.....最好能再想想

如果实在想不明白,教你个办法,用printf()在程序运行过程中监视所有变量变化的情况,再用getch()进行单步跟踪,那样你就能很轻松的了解程序的数据流动情况了


淘宝杜琨
2006-05-08 20:06
快速回复:素数问题
数据加载中...
 
   



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

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