HDU 1717 数学
小数化分数2
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3941 Accepted Submission(s): 1601
请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数。
每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
long long gcd(long long a,long long b);
long long modfast(long long x,long long y);
int main()
{
char s[1000];
int T=0;
scanf("%d",&T);
getchar();
while(T--)
{
long long a=0,b=0;
long long al=0,bl=0;
long long at=0,bt=0;
long long n=0,m=0;
bool mark=0;
int i=2;
scanf("%s",s);
while(s[i])
{
if(s[i]=='(')
{
mark=1;
i++;
continue;
}
else if(s[i]==')')
{
break;
}
if(!mark)
{
at++;
a=a*10+s[i]-'0';
}
else
{
bt++;
b=b*10+s[i]-'0';
}
i++;
}
if(bt!=0)
{
al=modfast(10,at);
bl=(modfast(10,bt)-1)*al;
m=a*bl+b*al;
n=al*bl;
}
else
{
n=modfast(10,at);
m=a;
}
long long k=gcd(n,m);
while(k!=1)
{
n/=k;
m/=k;
k=gcd(n,m);
}
printf("%lld/%lld\n",m,n);
}
return 0;
}
long long gcd(long long a,long long b)//左大右小
{
return b==0?a:gcd(b,a%b);
}
long long modfast(long long x,long long y)
{
long long ans=1;
while(y)
{
if(y&1) ans=ans*x;
x=x*x;
y>>=1;
}
return ans;
}
HDU 1717 数学相关推荐
- hdu 1717 小数化分数2(数学)
小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- hdu 5419(数学期望)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5419 题解: 首先分母是C(m,3),考虑如何求出分子 考虑数学期望的独立性,我们首先可以用线性的时间 ...
- hdu 5587(数学规律)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5587 解题思路: 首先可以预处理第i天有多少个数以及前i天的数之和. 接下来就可以先二分找到最大的天数 ...
- hdu 5570(数学期望)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5570 [分析] 用A[i][j]表示第i个球为颜色j的概率 用c[j]表示颜色为j的球的个数 用E[x ...
- hdu 5481(数学期望+区间合并)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5481 题解: 实际上求的是所有子集的并集长度之和. 把坐标离散化之后,可以单独考虑每一段区间在并集内部 ...
- HDU - 4586 数学期望
题意 有一个骰子有n个面,掷到每一个面的概率是相等的,每一个面上都有相应的钱数.其中当你掷到某些面 一共m个面之一时,你有多掷一次的机会.问最后所得钱数的期望. 分析 数学期望是什么 数学期望就是一种 ...
- 2019杭电多校第7场 K Kejin Player HDU 6656(数学推导)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656 题目大意:对于每一个等级,可以花ai元,有pi概率升级,如果升级失败就退到xi级,问从li级升到 ...
- HDU 4808 数学 期望 积分
HDU 4808 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4808 题意: 在一个多维空间中,一个人从原点迈出一步,这步最多R那么长.问其中一维 ...
- hdu 4530(数学)
小Q系列故事--大笨钟 Time Limit: 600/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
最新文章
- 利用getchar()消除多余字符数据(主要是“回车”)
- cglib中Enhancer的简单使用
- 腾讯机智在GTC 2019
- PropertyGrid中的枚举显示为中文(转)
- Springboot: Failed to get nested archive for entry BOOT-INF/lib/ Zip64 archives are not supported
- y查询硬盘内存CPU
- Yahei Consolas Hybrid------解决eclipse中文汉字太小问题
- 关于svn服务部署方案
- python文件管不了_Python文件_管道与模块编写
- c#电子教鞭(屏幕画笔)快捷键ctrl+q
- 动软代码生成器连接oracle数据库
- 配合python的rich库实现高颜值LOL服务器状态查询
- win10 电脑蓝牙无法使用无法连接问题的一种神奇解决办法
- .m3u8视频格式转换
- 10+ 张图来探究 Linux 内核,以及如何高效学习
- Office快捷键大全之四(Frontpage快捷键)
- RocketMQ源码系列(一) NameServer 核心源码解析
- 2010 我的求职经历(4)
- python idle快捷键
- David Silver强化学习——介绍
热门文章
- Python Matplotlib 简易入门学习画图
- 【专精特新周报】北交所进入“百企”时代 ,上市后备军充足;贝特瑞拟定增资50亿元,创北交所最大规模再融资记录;上海:年内……...
- 基于OHCI的USB主机 —— UFI读容量代码
- SVN 给文件 设置不提交
- 《绿光森林》惹争议 收视冠军也是挨骂冠军
- Windows 8 Metro App开发[8]处理Fullscreen, Snapped和Filled状态
- css界面内容可滚动_带有CSS滚动捕捉点的直观滚动界面
- 利用sfntly的sfnttool.jar提取中文字体
- vmware P2V问题汇总
- Discuz! X2如何禁止帖子发外链和签名链接