【HDOJ】1717 小数化分数2
简单字符串处理。
#include <cstdio>
#include <cstring>
#include <cmath>
#include <ctype.h> #define MAXN 25
char str[MAXN];
int ten[]; int gcd(int m, int n) {
if (m == )
return n;
if (m > n)
return gcd(n, m);
else
return gcd(m, n%m);
} int main() {
int t, a, b, ka, kb, n, m;
int i, k;
bool hascircle; ten[] = ;
for (i=; i<; ++i)
ten[i] = ten[i-]*; scanf("%d", &t);
while (t--) {
scanf("%s", str);
a = b = ;
ka = kb = ;
hascircle = false;
// ignore 0.
for (i=; str[i]; ++i) {
if (str[i] == '(') {
hascircle = true;
} else if ( isdigit(str[i]) ) {
if (hascircle) {
b = b*+str[i]-'';
kb++;
} else {
a = a*+str[i]-'';
ka++;
}
}
}
// a: integer for not circle part, b: integer for circle part
// ka: number of bits for a, kb: number of bits for b
// result = m/n;
if (kb) {
n = ten[ka+kb] - ten[ka];
m = a*ten[kb]+b-a;
} else {
n = ten[ka];
m = a;
}
k = gcd(m, n);
printf("%d/%d\n", m/k, n/k);
#ifndef ONLINE_JUDGE
fflush(stdout);
#endif
} return ;
}
【HDOJ】1717 小数化分数2的更多相关文章
- 【HDU】1717 小数化分数2 ——计数原理
		
小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
 - HDU 1717 小数化分数2(最大公约数)
		
小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
 - HDU 1717 小数化分数2 数学题
		
解题报告:输入一个小于1的小数,让你把这个数转化成分数,但注意,输入的数据还有无限循环的小数,循环节用一对括号包含起来. 之前还没有写过小数转分数的题,当然如果没有循环小数的话,应该比较简单,但是这题 ...
 - HDU1717小数化分数2
		
小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
 - 紫书 习题8-14 UVa 1616(二分+小数化分数+精度)
		
参考了https://www.cnblogs.com/dwtfukgv/p/5645446.html (1)直接二分答案.说实话我没有想到, 一开始以为是贪心, 以某种策略能得到最优解. 但是想了很久 ...
 - CSU 8月月赛 Decimal 小数化分数
		
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1303 这个OJ很容易跪所以我贴一下题目 Description 任意一个分数都是有理数,对于任意一 ...
 - 杭电oj1717——小数化分数(java实现)
		
question:小数化分数2 思路: /** * 这道题没有整数部分(有也无所谓,算小数部分,算完了分子分母按倍数加上就好),也就是说数组直接从a[2]开始后面是小数,我把这道题分为了三类: * * ...
 - (小数化分数)小数化分数2 -- HDU --1717
		
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1717 举例: 0.24333333…………=(243-24)/900=73/3000.9545454…… ...
 - ACM学习历程—HDU1717 小数化分数2(gcd)
		
Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢? 请你写一个程序不但可以将普通小数 ...
 
随机推荐
- 深入理解javascript闭包(一)
			
闭包(closure)是Javascript语言的一个难点.也是它的特色,非常多高级应用都要依靠闭包实现. 一.什么是闭包? 官方"的解释是:闭包是一个拥有很多变量和绑定了这些变量的环境的表 ...
 - Android网络框架---OkHttp3
			
1.添加依赖 compile 'com.squareup.okhttp3:okhttp:3.4.2' project Structure-->dependencied/搜索okhttp. com ...
 - 【转】四种常见的POST提交数据方式
			
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...
 - Cocos2d-x 3.0 实例学习教程  前沿
			
前一段时间学过cocos2d-x 2.x ,后来去做了一些别的项目.近期又想开发自己的游戏了,但是cocos2d-x 已经升级到3.0 ,好多API都变了.所以决定再把cocos2d-x学一遍,一是 ...
 - VIPServer   VS   LVS
			
http://www.cnblogs.com/nanyangzp/p/5552725.html
 - Linux如何关闭防火墙和查看防火墙的具体情况
			
1.Linux下关闭和开启防火墙 1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: ser ...
 - NYOJ2括号配对问题
			
括号配对是最基本的栈的问题,它是栈入门的经典题目,思路是,如果是左括号直接进栈,如果是右括号,这时就要比较栈顶的元素与他是否匹配,如果匹配则出栈,否则进栈,下面是代码的实现: #include < ...
 - 导入excel错误:外部表不是预期的格式 解决方案(Oledb)
			
-----转载:http://blog.csdn.net/zhou349398998/article/details/8740424 环境:win7+iis7+Office2007 在asp.net网 ...
 - sublime text  There are no packages 解决!
			
1.问题如下图 解决如下: 1.取得sublime.wbond.net的IPv4地址.在命令提示符中输入以下命令: ping sublime.wbond.net 获得 pv 4 ip 2.C ...
 - hibernate_validator_08
			
内置的约束条件 Hibernate Validator包含了一些基本的使用比较广的约束,下面是一些Hibernate Validator给出的最常用的约束.另外Hibernate Validator还 ...