博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu_1717_小数化分数2
阅读量:4914 次
发布时间:2019-06-11

本文共 1887 字,大约阅读时间需要 6 分钟。

一看此题,顿觉茫然,搜得思路,方知原来可以这样。最是累完了,错一点,就得那个望眼欲穿的改哇!

首先须知:小数有 有限和无限之分,其中无限小数中,又分无限循环和无限不循环小数,能用分数表示的当然只有有限小数和无限循环小数。

有限小数就简单了,无论多少只要小数点后面的 除以 10的n次方就行了,约分一下就完事了。

对于无限循环小数分两种,这里举例说明:

⑴    把0.4747……化成分数。

 0.4747……×100=47.4747……  
       0.4747……×100-0.4747……=47.4747……-0.4747……            注:因为是无限小数,所以小数点后趋向于无穷远处的 相减极限为零了
             (100-1)×0.4747……=47                                 //提取公因式0.4747         

                    即99×0.4747…… =47
                        那么  0.4747……=47/99
(2)把0.325656……化成分数,(道理同上)

 0.325656……×100=32.5656……①

            0.325656……×10000=3256.56……②
              用②-①即得:
                    0.325656……×9900=3256.5656……-32.5656……
                        0.325656……×9900=3256-32
                           所以, 0.325656……=3224/9900

这里

View Code
1 #include
2 #include
3 #include
4 using namespace std; 5 6 7 int gcd(int xiao,int da) 8 { 9 while(xiao%da)10 {11 int tmp=xiao%da;12 xiao=da;13 da=tmp;14 }15 return da;16 }17 18 19 20 int main()21 {22 int T;23 while(cin>>T){24 int i,a,b,cnta,cntb,max;25 int k,l;26 27 char ch[15];28 while(T--)29 {30 cin>>ch;31 bool flag = true;32 a = 0; b = 0; cnta = 0;cntb = 0;33 k = 1; l = 1;34 for(i = 2;ch[i] != '\0'; i++)35 {36 if(ch[i] == '(')37 {38 flag = false;39 b = a;40 cntb = cnta;41 continue;42 }43 if(ch[i] == ')')44 break;45 if(flag)46 {47 a = a*10 + ch[i]-'0';48 cnta++; 49 }50 else51 {52 b = b*10 + ch[i] - '0';53 cntb++;54 }55 56 }57 if(!cntb)58 {59 while(cnta--)60 k *= 10;61 max = gcd(a,k);62 63 cout<

 

转载于:https://www.cnblogs.com/konkon/archive/2012/04/14/hdu_1717_DecimalDividedSeveral.html

你可能感兴趣的文章
Django-缓存
查看>>
[无关IT]就这样在凌晨写一篇吧~
查看>>
java.util.Map.Entry接口
查看>>
Linux中crond服务与crontab用法
查看>>
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释...
查看>>
分享8年开发经验,浅谈个人发展经历,明确自己发展方向
查看>>
开发使用Node.js的一个小技巧
查看>>
Mike的农场 BZOJ4177
查看>>
IT职场人生系列
查看>>
如何指定个别属性进行transition过渡
查看>>
Python爬虫基础--分布式爬取贝壳网房屋信息(Client)
查看>>
jmeter(十二)关联之正则表达式提取器
查看>>
win7系统复制文件到u盘提示文件过大怎么办
查看>>
The path "" is not valid path to the gcc binary.
查看>>
KMP算法
查看>>
NBUT [1369] A Breaking Computer
查看>>
SonarQube4.4+Jenkins进行代码检查实例之三-单元測试分析
查看>>
【转载】appium自动化环境搭建
查看>>
jsp编译、执行过程
查看>>
NOIP2017游记
查看>>