www

这个题虽然,没啥难度 但也不以理解....

某位大神的答案

strlen是所有字符串的长度

#include<cstdio>
#include<cmath>
#include<cstring>
char str[20];int gcd(int n,int m)
{int i;while(m){i=n%m;n=m;m=i;}return n;
}int main()
{int t,len,j,k,cnt,num,len_r,inter,i;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;//分母 }inter=0;for(i=k-1;i>1;--i)inter+=(str[i]-'0')*pow(10.0,(k-1-i));//求不循环的部分 int res=gcd(num,cnt);num/=res;cnt/=res;cnt+=(inter*num);for(i=0;i<j;++i)//因为数字扩大了10^j倍,分母也要扩大相同的倍数 num*=10;res=gcd(num,cnt);num/=res;cnt/=res; printf("%d/%d\n",cnt,num);}}return 0;
}

hdoj小数转化为分数相关推荐

  1. java小数转换成百分数_在java中如何把小数转化成百分数

    import java.text.NumberFormat; public class Test { //在java中如何把小数转化成百分数 public static void main(Strin ...

  2. 小数转化成百分数(不限制保留位数)

    直接上代码,拷贝拿去用就ok~. 以下代码的特点: 1.直接对小数进行*100+%处理 2.转化结果完全准确,没有转化的精度问题 3.乘100后的小数位数不进行四舍五入,也就是不限制保留小数的位数 如 ...

  3. es6 日期字符串转日期_小数转成百分数,日期字符串互相转换,这几个SQL问题该如何解决?...

    点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 SQL在使用过程中,经常会遇到一些奇奇怪怪的小问题,今天给大家总结一下常见的几个问题该 ...

  4. 小数点化分数的过程_小数怎么化成分数

    0分 0 40.0KB 2017-10-22 小数化成分数.doc[自研课] 旧 知 链 接 新 知 自 研 [自研课本情景图和内容,初步了解小数化分数的1.0.1表示( )分之( ); 2.0.3表 ...

  5. Pandas列小数转化为百分数

    #-*- coding: utf-8 -*-import pandas as pdinputfile = '../data/electricity_data.xls' outputfile = './ ...

  6. 如何将小数转换成百分数

    如何将小数转换成百分数 有朋友在群里问了这个问题,印象中Java没有这方面的函数(百分数转换为小数倒是有一个),而且直接乘以100会得出类似2.5999999999的结果,在网上也没有搜到类似的解决方 ...

  7. 小数点化分数的过程_小数怎样换算成分数(小数分数转换器)

    1)纯小数换算成分数的方法:去掉小数点前的0,将小数作分子,将10?作分母.其中,n为小数的位数.如0.0117=117/100002)带小数换算成分数的方法:带小数是整. 分子为小数点后的数字,分母 ...

  8. python将小数转换成百分数

    处理数据得时候遇到一个小问题,如何用 pandas 将小数转换成百分数? 数据源是这样的,一个名为 "data.xlsx" 的 excel 文件,我需要将 "人员利用率& ...

  9. Excel如何快速将小数改成分数

    今天跟大家分享一下Excel如何快速将小数改成分数 1.打开Excel文件 2.将小数复制一份到分数列并选中 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细解说. ...

  10. 如何将无限循环小数转化为分数

    无限循环小数也是有理数,而有理数是能表示为两个整数之比的数.如何将无限循环小数转化成分数? 以 0.148257148257... 0.148257148257...为例. 它的循环部分为: 1482 ...

最新文章

  1. Forest Program dfs+tanjar仙人掌
  2. mysql 优化_常用MySQL优化
  3. Nature:Gordon组采用甘露糖苷选择性抑制尿路致病性大肠杆菌
  4. Mpg123源代码详解
  5. java handlersocket_HandlerSocket java客户端
  6. Java8 ReentrantLock 源码分析
  7. linux之通过strings命令查看so里面是否包含****字符串
  8. 前端学习(2520):环境搭建
  9. Linux内核crypto子系统的调用逻辑
  10. python变量和常量_python变量与常量内容:
  11. Android平台各类恶意软件及病毒概览
  12. 设计灵感|延展画面的插画Banner设计!
  13. hadoop 关闭datanode节点时发生异常:no datanode to stop
  14. 计算机更新过后cad,升级windows10系统后cad无法打开的两种解决方法
  15. Centos(Linux)系统备份与还原
  16. 开会没带纸和笔?按下手机这个按钮,一键完成会议纪要
  17. android7.0 8.1 9.0 10.0 去掉屏幕锁屏(屏幕默认锁屏方式改成无)
  18. 计算机无法连接蓝牙键盘,电脑如何连接无线键盘_电脑上怎么连接蓝牙键盘-win7之家...
  19. java: 警告: 源发行版 xx 需要目标发行版 1.10 解决方案
  20. 人工智能( AI )将如何颠覆项目管理?看看这六大关键领域

热门文章

  1. linux安装java运行环境_如何安装java运行环境
  2. 2021年系统架构设计师考试大纲
  3. 淘宝网打开很慢、特别慢的完美解决方法
  4. php在线拍照代码,PHP+Javascript实现在线拍照功能实例_php技巧
  5. 网上管家婆软件,最新在线进销存软件。
  6. 电脑常见故障及解决方法
  7. 计算软件介绍siesta、vasp、wien2k、PWSCF、Materials Studio
  8. redis 客户端操作命令
  9. 每日学习打卡-汇总处
  10. android平板管理工具,安卓平板如何提升使用效率,这17款软件你应该知道