hdoj--1717
来源:互联网 发布:免费的php空间 编辑:程序博客网 时间:2024/04/29 10:29
题目地址:<a target=_blank href="http://acm.hdu.edu.cn/showproblem.php?pid=1717">http://acm.hdu.edu.cn/showproblem.php?pid=1717</a>
#include<stdio.h>#include<math.h>#include<string.h>char str[20];int gcd(int m,int n){return n==0 ? m:gcd(n,m%n);}int main(){int t,i,j,k,ans,len,cnt,num,len_r;scanf("%d",&t);while(t--){scanf("%s",str);len=strlen(str);if(!strchr(str,'(')) //没有循环节的情况 {cnt=0;num=1;for(i=len-1;i>1;i--)cnt+=(str[i]-'0')*pow(10.0,(len-i-1)*1.0); // 分子for(i=2;i<len;i++)num*=10; //分母 int res=gcd(num,cnt);num/=res;cnt/=res; printf("%d/%d\n",cnt,num);}else //有循环节 {for(i=2;i<len;i++){if(str[i]=='('){j=i-2;k=i;}if(str[i]==')'){len_r=i-k-1;}}cnt=0;num=0;for(i=k+1;i<=len-2;i++){cnt=cnt*10+(str[i]-'0'); //分子 num=num*10+9; //分母 }int inter=0;for(i=k-1;i>1;i--)inter+=(str[i]-'0')*pow(10.0,(k-i-1)*1.0); //求 不循环的部分 int res=gcd(cnt,num);num/=res;cnt/=res;cnt+=(inter*num);for(i=0;i<j;i++)num*=10;res=gcd(cnt,num);num/=res;cnt/=res;printf("%d/%d\n",cnt,num);}}return 0;}
1 0
- hdoj--1717
- HDOJ
- hdoj
- hdoj
- HDOJ
- hdoj 1717 小数化分数2【水】
- HDOJ 1717 小数化分数2
- hdoj 1568 && hdoj 5344 && hdoj 5444
- HDOJ 题目1717 小数化分数2(数学)
- HDOJ 2176
- Hdoj--1272
- hdoj 1003
- hdoj 1005
- hdoj 1030
- hdoj 2154
- hdoj 2100
- HDOJ 1106
- hdoj 1257
- LeetCode之12_Integer to Roman
- smarty模板引擎_5-自定义变量调节器
- Nandflash K9F1208U0B学习
- ubuntu 16.04 安装Google Chrome
- UWP 依赖动画及独立动画(Dependent and independent animations)
- hdoj--1717
- 簇大小和扇区大小
- 视频播放器
- nand flash 扇区的管理以及初始化
- Combination Sum II
- smarty模板引擎_3-预保留变量
- xml的简介
- smarty模板引擎_6-Smarty的内置函数
- jQueryUI tooltip 自定义提示内容