| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 867 人关注过本帖
标题:请高手给个思路..........
只看楼主 加入收藏
miao_100200
Rank: 2
来 自:广东-广州
等 级:论坛游民
帖 子:45
专家分:30
注 册:2009-10-26
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:10 
请高手给个思路..........
任意输入两个自然数,输入不一定都是自然数
 可能只输入一个自然数
未限定输入的大小顺序
 统计这两个整数之间(包含整数本身)一共有多少个素数,要求使用函数 最好显示进度及报告耗时
搜索更多相关主题的帖子: 思路 
2009-11-03 16:37
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
如果只输入一个自然数,是怎么判断?  从0开始到该自然数?

我可好玩啦...不信你玩玩^_^
2009-11-03 16:39
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
任意输入两个自然数,输入不一定都是自然数
这话说的,到底让输入啥样的数啊?
2009-11-03 16:43
miao_100200
Rank: 2
来 自:广东-广州
等 级:论坛游民
帖 子:45
专家分:30
注 册:2009-10-26
收藏
得分:0 
随便输入一个的话也算是两个相同的自然数

C菜鸟,在努力之中
2009-11-03 16:44
miao_100200
Rank: 2
来 自:广东-广州
等 级:论坛游民
帖 子:45
专家分:30
注 册:2009-10-26
收藏
得分:0 
回复 3楼 m456m654
就是也可以输入小数,所以又要加入个判断是否为自然数的语句

C菜鸟,在努力之中
2009-11-03 16:45
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:10 
接受输入的2个数(加个输入个数判断,如果n=2就跳过,如果n=1就copy输入的数分2个变量)
接受的数不用判断,强制转换为整型;
然后for(a-b之间) if(是素数) 统计数+1;
3楼,接下↓

我可好玩啦...不信你玩玩^_^
2009-11-03 18:23
anzi520
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-9-24
收藏
得分:0 
先判断是不是整数
然后判断这个数能否v被自己和 1 整除的数,如果是就是素数,否则不是
2009-11-03 21:53
Bosen
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:65
专家分:102
注 册:2009-11-3
收藏
得分:0 
看了这么多!建议楼主把题目原版告诉大家!题目度没看懂!没法帮啊!
2009-11-03 22:22
xuebiao89021
Rank: 2
等 级:论坛游民
帖 子:9
专家分:15
注 册:2009-11-4
收藏
得分:10 
好了
给个思路吧:
1.先不管你输入什么类型的数字,当用scanf输入后,强制类型转换成两个int的;
2.判断两个数的大小;假设max=2,min=7;则进行交换后:max=7,min=2
if(max<min){temp=max;max=min;min=temp;};
3.使用for循环进行素数计数;for(int i=min;i<=max;i++)
                             {
                               for(int j=i;j<i;j++)
                                  if(i%j==0) break;
                                  count++;
                             }
4.当然要保证min>2;且你输入的数字都是正数;
2009-11-04 14:31
xuebiao89021
Rank: 2
等 级:论坛游民
帖 子:9
专家分:15
注 册:2009-11-4
收藏
得分:0 
for(int i=min;i<=max;i++)
                             {
                               for(int j=i;j<i;j++)
                                 {
                                   if(i%j==0) break;
                                  count++;
                                  }
                             }
2009-11-04 14:34
快速回复:请高手给个思路..........
数据加载中...
 
   



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

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