hdu 1722 Cake
2016-02-23 12:42
162 查看
思路:最大公约数 + 数学公式
具体做法:p+q-gcd(p,q)
至于为什么gcd(p,q)是两种切法的公共部分:可以这么考虑,k=gcd(p,q),1/k可以整除1/p和1/q,即将蛋糕切成k份,无论是切p份还是切q份都可以满足要求,切痕重合。
具体做法:p+q-gcd(p,q)
至于为什么gcd(p,q)是两种切法的公共部分:可以这么考虑,k=gcd(p,q),1/k可以整除1/p和1/q,即将蛋糕切成k份,无论是切p份还是切q份都可以满足要求,切痕重合。
#include <iostream> #include <algorithm> using namespace std; int gcd(int m,int n) { if(m%n==0) return n; else gcd(n,m%n); } int lcm(int m,int n) { return m/gcd(m,n)*n; } int main() { int a,b,p,q,num; while(cin>>p>>q) { a = min(p,q); b = p+q-a; num = lcm(a,b)/b*(b-a) +a; cout << num << endl; }//cout << "Hello world!" << endl; return 0; }
相关文章推荐
- js方式实现页面跳转或刷新
- iOS海哥开发笔记 (海哥原创,iOS 之NSBundle介绍)
- Oracle_字符集问题(数据库与客户端字符集关联关系)
- 大麦购票
- 程序员面试题精选100题(39)-颠倒栈[数据结构]
- 使用Android Studio,新建library并发布到jCenter
- nginx location语法
- iOS海哥开发笔记 (海哥原创,iOS 之mac终端命令大全介绍 )
- 使用CocoaPods管理依赖库
- 程序员面试题精选100题(38)-输出1到最大的N位数[算法]
- iOS小明开发笔记(九) (tableViewCell侧滑显示多个按钮)
- 100. Same Tree
- sql server 2008 安装中遇到的问题之Sql Server服务远程过程调用失败解决
- 第2章 使用ListView显示信息列表
- 正则表达式中匹配字符中括号'['
- CSRF的防御实例(PHP)
- 闲谈关于大数据的概念和基本技术的通俗的解释
- POJ—Building a Space Station
- 程序员面试题精选100题(37)-寻找丑数[算法]
- Mac OS X系统下软件包管理器 -- Homebrew