分遗产
2016-03-21 17:13
288 查看
题目描写叙述
有一位阿拉伯老人,生前养有11匹马,他去世前立下遗嘱:大儿子、二儿子、小儿子分别继承遗产的1/2、1/4、1/6。
儿子们想来想去没法分:他们所得到的都不是整数,即分别为11/2、11/4、11/6。总不能把一匹马割成几块来分吧?
聪明的邻居牵来了自己的一匹马。对他们说:“你们看,如今有12匹马了。老大得12匹的1/2就是6匹,老二得12匹的1/4就是3匹。 老三得12匹的1/6就是2匹。还剩一匹我照旧牵回家去。
”这样把难分的问题攻克了。
如今又有一个老人要分遗产了,他有m匹马(1≤m≤1000000),而且有n个儿子(1≤n≤10),每一个儿子分别得到1/a1、1/a2、…、1/an的遗产。
由于马不能切割,而且遗产要所有分完,所以请你用上面那位聪明的邻居的方法计算一下每一个儿子能分到几匹马。
输入描写叙述:
输入包含多组測试数据。
每组測试数据包含两行:
第一行为m、n。分别代表老人拥有的马匹数和几个儿子。
第二行有n个数据a1、a2、…、an。依次代表大儿子、二儿子…第n个儿子分到的遗产的份额。(0 < ai < 50)
程序以输入0 0结束。该行不做处理。
输出描写叙述:
依照上面介绍的方法解决问题。
假设那种方法不能解决问题(即所有儿子不能得到整数匹马),则你的程序要输出”Can’t Solve”;
否者依次输出大儿子、二儿子…得到的马的匹数。
每一个数之间有一个空格隔开(最后一个数据后面没有空格)。
输入样例:
11 3
2 4 6
2 2
3 3
0 0
输出样例:
6 3 2
1 1
有一位阿拉伯老人,生前养有11匹马,他去世前立下遗嘱:大儿子、二儿子、小儿子分别继承遗产的1/2、1/4、1/6。
儿子们想来想去没法分:他们所得到的都不是整数,即分别为11/2、11/4、11/6。总不能把一匹马割成几块来分吧?
聪明的邻居牵来了自己的一匹马。对他们说:“你们看,如今有12匹马了。老大得12匹的1/2就是6匹,老二得12匹的1/4就是3匹。 老三得12匹的1/6就是2匹。还剩一匹我照旧牵回家去。
”这样把难分的问题攻克了。
如今又有一个老人要分遗产了,他有m匹马(1≤m≤1000000),而且有n个儿子(1≤n≤10),每一个儿子分别得到1/a1、1/a2、…、1/an的遗产。
由于马不能切割,而且遗产要所有分完,所以请你用上面那位聪明的邻居的方法计算一下每一个儿子能分到几匹马。
输入描写叙述:
输入包含多组測试数据。
每组測试数据包含两行:
第一行为m、n。分别代表老人拥有的马匹数和几个儿子。
第二行有n个数据a1、a2、…、an。依次代表大儿子、二儿子…第n个儿子分到的遗产的份额。(0 < ai < 50)
程序以输入0 0结束。该行不做处理。
输出描写叙述:
依照上面介绍的方法解决问题。
假设那种方法不能解决问题(即所有儿子不能得到整数匹马),则你的程序要输出”Can’t Solve”;
否者依次输出大儿子、二儿子…得到的马的匹数。
每一个数之间有一个空格隔开(最后一个数据后面没有空格)。
输入样例:
11 3
2 4 6
2 2
3 3
0 0
输出样例:
6 3 2
1 1
#include<iostream> using namespace std; int LCM(int num1,int num2){ int x,y; if(num1<num2){ num1^=num2;num2^=num1;num1^=num2; } x=num1;y=num2; while(y!=0) {int temp=x%y; x=y; y=temp; } return (num1*num2)/x; } int main(){ int n,m; cin>>m>>n; while (n!=0&&m!=0) { int temp=1;int sum=0;int Multiply=1; int heritage[10]; for (int i = 0; i <n; i++) { cin>>heritage[i]; } for (int i = 0; i <n; i++) { temp=LCM(temp,heritage[i]); Multiply*=heritage[i]; } for (int i = 0; i <n; i++) { sum+=temp/heritage[i]; } if (m%sum==0) { int k=m/sum; for (int i = 0; i <n-1; i++) { cout<<k*temp/heritage[i]<<" "; } cout<<k*temp/heritage[n-1]<<endl; } else { cout<<"Can't Solve"<<endl; } //cout<<sum; cin>>m>>n; } return 0; //cout<<LCM(4,6); }
相关文章推荐
- IIS 启用CORS ,IISExpress 通过IP 访问
- 公司某个很奇怪的要求,TP框架
- 安卓第十八天笔记--简单动画
- iOS开发移动应用关于用户界面设计七大要点
- 第九章 字典
- ls命令&文件类型与权限
- 十大排序算法
- JavaScript笔记3--封装JS对象
- 读《程序员自我修养》 总结
- android 第三方工具使用常见异常(友盟)
- 好久没更新博客了
- Canvas容器绘制直线
- 调用函数时为什么要在函数名前加“(void)”
- Ubuntu12.04搭建nfs服务器
- Hibernate 性能优化_转载
- 关于使用“Hadoop free”版本的Spark
- Android ExpandableListView实例Demo
- Java使用Protocol Buffers入门四步骤
- TextUtils判断
- 关于Unity程序在IOS和Android上显示内嵌网页的方式