题目描述:
给定两个数字n与m(n,m均不为0,均在100,000以内), 天命数规则如下:给出一个特殊的数字k,1<=k<=3,当k=1的时候,天命数就是n,m中较大的数字整除较小的数字所得到的结果。k=2的时候,天命数是n与m两数之和。k=3的时候,天命数是k=1以及k=2时所获得两个天命数的乘积再整除n与m之中的较大数,最后这个数字除以n与m之中的较小数所得的余数求出,即天命数。
如果天命数是0,输出:“cangtianyisi,huangtiandangli”。
输入格式:
第一行为整数n,m;
第二行为k。
输出格式:
输出仅一行,即天命数。
如果天命数为0,输出“cangtianyisi,huangtiandangli”
样例输入:
2 3 2
样例输出:
5
提示:
max(a,b)表示取a和b里大的值
比如a=1,b=2,max(a,b)就等于2
min(a,b)表示取a和b里小的值
比如a=1,b=2,min(a,b)就等于1
时间限制: 1000ms
空间限制: 256MB
代码如下:
#include<iostream>
using namespace std;
int main(){
long long n,m,k,c;
cin>>n>>m>>k;
long long a=max(n,m),b=min(n,m);
if(k==1){
c=a/b;
}
if(k==2){
c=n+m;
}
if(k==3){
c=((a/b)*(n+m)/a)%b;
}
if(c==0){
cout<<"cangtianyisi,huangtiandangli";
}else{
cout<<c;
}
return 0;
}