标题:[求助]每当十进制小数的第一个循环周期输出后,就结束该数的输出。
只看楼主
zgwxwn
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-4-24
得分:0 
x num denom是int  (int)似乎没必要了

coding & enjoying
2006-11-03 11:32
zgwxwn
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-4-24
得分:0 
x=num/denom;那x显然是0;
下面的if(x)就废了 直接从else 后面的开始就行

coding & enjoying
2006-11-03 11:39
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
得分:0 

我稍微说一下吧
函数gcd()是用来求最大公约数.
num表示分子,denom表示分母.gcd是用来化简num/denom的,即约去其中的公因子

函数void f(int num,int denom,char *result)
这里num可以大于denom,也就是可以出现12/9的形式.
x是用来保存整数部分的.

所以说void f(int num,int denom,char *result)具有通用性.不一定分子就是1,你想设成多少就多少,只要传进函数就行了


2006-11-03 14:39
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
得分:0 
以下是引用xpentium在2006-11-3 0:51:26的发言:

用java 编一个吧
基本思想:这个思想有点像十进制数求二进制数的过程,每商一个数都会得到一个相应的余数,当余数重复出现是,这时后面商的数肯定会与前面的一样,也就是开始循环了。

该思想是错误的.


2006-11-03 16:00
xiaoxu135
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-10-29
得分:0 

麻烦问一下版主那个void len函数是作什么用的呢


2006-11-11 19:32
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
得分:0 
void len(int de,int *len1,int *len2)
de表示分母
分别求的:
len1是延迟长度,即小数部分非循环部分长度
len2是循环节长度

2006-11-11 19:43
xiaoxu135
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-10-29
得分:0 

哦 明白了 谢谢你


2006-11-12 17:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-99814-1-1.html




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

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