| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1360 人关注过本帖, 1 人收藏
标题:听听高手的想法~
取消只看楼主 加入收藏
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:5 
听听高手的想法~
如题:
读入自然数m和n(0<=m<n<=1000),判断分数m/n是有限小数还是无限小数。如果m/n是有限小数,则输出分数的值;如果m/n为循环小数,则把循环部分括在括号中打印出来~

向前走着……
2010-08-11 12:50
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
收藏
得分:0 
回复 4楼 jack10141
正如你所说,你打算除到什么时候,来确定它是个循环小数?又打算除到什么时候,你又能确定循环节已经出现并确定下来~?

向前走着……
2010-08-11 16:18
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
收藏
得分:0 
回复 4楼 jack10141
‘a[i]=t*10/n;
  t=(t*10)%n;’
这段我欣赏,但是这不代表你的程序是对的~

你貌似假定,循环小数都是像1/3=0.3333,1/7=0.142857142857,
但是你是不是考虑到还有这样的循环小数呢?如2/15=0.13333~

向前走着……
2010-08-11 17:09
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
收藏
得分:0 
回复 9楼 虾B写
以下是引用虾B写在2010-8-11 17:38:38的发言:

循环不一定是从第一个小数开始
直接除完后得到小数位,如果小数位达到最长,就基本上是了。
 
然后历遍
如:s=0.357123123123123
取3==5
  35==71
  357==123
.........
  5==7
  57==12
........
1==2
12==31
123==123
 
不过还有一种情况,S=0.1234567890123456
a==b
当A的长度超过S长度一半时,A的比较长度==B
如小数:s=0.333555333555,先不管3==3,一直检测到333555==333555是吧
就是存储的空间要很大,不过数字较小的话是可以接受的~ ,

说实话,m,n是在1000范围内的正整数,像1/998这样的分数,位数还是不行的

   美中不足啊~~~~~

向前走着……
2010-08-11 20:09
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
收藏
得分:0 
回复 10楼 jack10141
验算了下真得不错,只是输出界面有点不清晰~

说说你的想法吧,这么大段程序,要看的话还是很吃力的~

向前走着……
2010-08-11 20:24
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
收藏
得分:0 
回复 15楼 jack10141
小数是没问题,大数的话在输出上有点不清晰(那个0.0,你改下去掉吧)输出界面行的话该明白点~
程序应该没问题的。

向前走着……
2010-08-11 20:34
快速回复:听听高手的想法~
数据加载中...
 
   



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

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