HDU 5912 Fraction 模拟题 【2016中国大学生程序设计竞赛(长春)】
2017-09-12 22:33
423 查看
Fraction
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1280 Accepted Submission(s): 661
Problem Description
Mr. Frog recently studied how to add two fractions up, and he came up with an evil idea to trouble you by asking you to calculate the result of the formula below:As a talent, can you figure out the answer correctly?
Input
The first line contains only one integer T, which indicates the number of test cases.For each test case, the first line contains only one integer n (n≤8).
The second line contains n integers: a1,a2,⋯an(1≤ai≤10).
The third line contains n integers: b1,b2,⋯,bn(1≤bi≤10).
Output
For each case, print a line “Case #x: p q”, where x is the case number (starting from 1) and p/q indicates the answer.You should promise that p/q is irreducible.
Sample Input
12
1 1
2 3
Sample Output
Case #1: 1 2Hint
Here are the details for the first sample:2/(1+3/1) = 1/2
Source
2016中国大学生程序设计竞赛(长春)-重现赛解题分析:
这道题是一道模拟题,主要是要以分数的形式保存每次的计算结果(要是真分数),最后的分子和分母就输出。AC代码:
#include<stdio.h> int gcd(int a, int b) { if(!(a%b)) return b; return gcd(b, a%b); } int main() { int a[10], b[10]; int i, x, y, k, T, n, t = 1, p; scanf("%d", &T); while(T--){ scanf("%d", &n); a[0] = b[0] = 0; for(i = 1; i <= n; i++) scanf("%d", &a[i]); for(i = 1; i <= n; i++) scanf("%d", &b[i]); if(n == 1){ k = gcd(b[1], a[1]); printf("Case #%d: %d %d\n", t++, b[1]/k, a[1]/k); continue; } x = a *a[n-1]+b ; y = a ; k = gcd(x, y); x /= k; y /= k; for(i = n-1; i > 1; i--){ p = y*b[i]+a[i-1]*x; y = x; x = p; k = gcd(x, y); x /= k; y /= k; } p = y*b[1]; y = x; x = p; k = gcd(x, y); y /= k; x /= k; printf("Case #%d: %d %d\n", t++, x, y); } return 0; }
相关文章推荐
- HDU 5912 Fraction 【模拟】 (2016中国大学生程序设计竞赛(长春))
- HDU 5912 Fraction 【模拟】 (2016中国大学生程序设计竞赛(长春))
- hdu 5912 Fraction 2016中国大学生程序设计竞赛(长春) 水题
- HDU 5912 Fraction【模拟】(2016中国大学生程序设计竞赛(长春)B题)
- hdu 5912 Fraction -2016中国大学生程序设计竞赛(长春)
- HDU 5912 【模拟,类连分数的计算】【2016中国大学生程序设计竞赛(长春)】
- HDU 5914 Triangle 【构造】 (2016中国大学生程序设计竞赛(长春))
- 【HDU 5914 Sequence I】+ 2016中国大学生程序设计竞赛(长春)-重现赛
- HDU 5918 Sequence I【KMP?】【2016中国大学生程序设计竞赛(长春)】
- HDU 5916 Harmonic Value Description 【构造】(2016中国大学生程序设计竞赛(长春))
- HDU 5914 Triangle【找规律】【2016中国大学生程序设计竞赛(长春)】
- hdu 5916 Harmonic Value Description-思维题-2016中国大学生程序设计竞赛(长春)-重现赛
- HDU 5916 Harmonic Value Description 【构造】(2016中国大学生程序设计竞赛(长春))
- HDU 5912 Fraction (2016-ccpc-长春)
- HDU 5916 Harmonic Value Description【构造】【2016中国大学生程序设计竞赛(长春)】
- HDU 5920 Ugly Problem 【模拟】 (2016中国大学生程序设计竞赛(长春))
- HDU 5920 Ugly Problem 【模拟】 (2016中国大学生程序设计竞赛(长春))
- HDU 5914 Triangle【斐波那契思维】(2016中国大学生程序设计竞赛(长春)D题)
- HDU Harmonic Value Description 2016中国大学生程序设计竞赛(长春)-重现赛
- HDU 5916 Harmonic Value Description【思维构造题目】(2016中国大学生程序设计竞赛(长春)F题)