hdu 5912 Fraction 2016中国大学生程序设计竞赛(长春) 水题
2016-10-26 14:38
519 查看
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5912
题意:
输入a1…an,b1…bn,化简这个东西
分析:
n不超过8,an,bn不超过10,所以暴力搞搞就好啦~~~
注意有可能爆int滴~
每轮的迭代过程就这样:从an开始,取倒数,乘bn,加an-1,再取倒数……迭代n轮之后除以最大公约数化简。
题意:
输入a1…an,b1…bn,化简这个东西
分析:
n不超过8,an,bn不超过10,所以暴力搞搞就好啦~~~
注意有可能爆int滴~
每轮的迭代过程就这样:从an开始,取倒数,乘bn,加an-1,再取倒数……迭代n轮之后除以最大公约数化简。
#include <bits/stdc++.h> using namespace std; typedef long long ll; int t,n; int a[12],b[12]; ll p,q; ll gcd(ll a,ll b) { if(b==0) return a; return gcd(b,a%b); } void solve() { ll x=a ,y=1;//初始化为an,每轮迭代都记为x/y ll g=1; for(int i=n;i>=1;i--) { //迭代n次 ll x2=x,y2=y;//记录下来 x=y2*b[i]+x2*a[i-1]; y=x2; g=gcd(x,y); x/=g; y/=g; } g=gcd(x,y); p=x/g,q=y/g; } int main() { scanf("%d",&t); a[0]=0; for(int i=1;i<=t;i++) { scanf("%d",&n); for(int j=1;j<=n;j++) scanf("%d",&a[j]); for(int j=1;j<=n;j++) scanf("%d",&b[j]); solve(); printf("Case #%d: %I64d %I64d\n",i,p,q); } }
相关文章推荐
- 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 Sequence I】+ 2016中国大学生程序设计竞赛(长春)-重现赛
- HDU 5918 Sequence I【暴力+剪枝】(2016中国大学生程序设计竞赛(长春)H题)
- HDU Ugly Problem 2016中国大学生程序设计竞赛(长春)-重现赛
- HDU Sequence I 2016中国大学生程序设计竞赛(长春)-重现赛
- HDU 5914 Triangle 【构造】 (2016中国大学生程序设计竞赛(长春))
- 2016中国大学生程序设计竞赛(长春)1002 Fraction 数学
- HDU 5912 Fraction (2016-ccpc-长春)
- HDU 5916 Harmonic Value Description 【构造】(2016中国大学生程序设计竞赛(长春))
- HDU 5916 Harmonic Value Description【构造】【2016中国大学生程序设计竞赛(长春)】
- HDU 5914 Triangle【斐波那契思维】(2016中国大学生程序设计竞赛(长春)D题)
- hdu 5916 Harmonic Value Description-思维题-2016中国大学生程序设计竞赛(长春)-重现赛
- HDU 5920 Ugly Problem 【模拟】 (2016中国大学生程序设计竞赛(长春))
- HDU Harmonic Value Description 2016中国大学生程序设计竞赛(长春)-重现赛
- HDU 5920 Ugly Problem 【模拟】 (2016中国大学生程序设计竞赛(长春))