循环数比较

题目描述

对于任意两个正整数x和k,我们定义repeat(x, k)为将x重复写k次形成的数,例如repeat(1234, 3) = 123412341234,repeat(20,2) = 2020.
牛牛现在给出4个整数x1, k1, x2, k2, 其中v1 = (x1, k1), v2 = (x2, k2),请你来比较v1和v2的大小。

输入描述:

输入包括一行,一行中有4个正整数x1, k1, x2, k2(1 ≤ x1,x2 ≤ 10^9, 1 ≤ k1,k2 ≤ 50),以空格分割

输出描述:

如果v1小于v2输出"Less",v1等于v2输出"Equal",v1大于v2输出"Greater".
示例1

输入

复制
1010 3 101010 2

输出

复制
Equal
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
string num1,num2,tmp;
int m,n;
cin>>num1>>m>>num2>>n;
tmp=num1;
for(int i=0;i<m-1;i++)num1+=tmp;
tmp=num2;
for(int i=0;i<n-1;i++)num2+=tmp;
//cout<<num1<<'\n'<<num2;
if(num1.size()==num2.size())
{
for(int i=0;i<num1.size();i++)
{
if(num1[i]>num2[i]) {cout<<"Greater";return 0;}
if(num1[i]<num2[i]) {cout<<"Less";return 0;}    
}    
cout<<"Equal";return 0;        
}
else if(num1.size()>num2.size()) {cout<<"Greater";return 0;}
else {cout<<"Less";return 0;}    
} 

 

posted @ 2019-06-03 22:12  浅滩浅  阅读(241)  评论(0编辑  收藏  举报