CodeForces 616A Comparing Two Long Integers

A. Comparing Two Long Integers
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

You are given two very long integers a, b (leading zeroes are allowed). You should check what number a or b is greater or determine that they are equal.

The input size is very large so don't use the reading of symbols one by one. Instead of that use the reading of a whole line or token.

As input/output can reach huge size it is recommended to use fast input/output methods: for example, prefer to use scanf/printfinstead of cin/cout in C++, prefer to use BufferedReader/PrintWriter instead of Scanner/System.out in Java. Don't use the function input() in Python2 instead of it use the function raw_input().

Input

The first line contains a non-negative integer a.

The second line contains a non-negative integer b.

The numbers a, b may contain leading zeroes. Each of them contains no more than 106 digits.

Output

Print the symbol "<" if a < b and the symbol ">" if a > b. If the numbers are equal print the symbol "=".

Sample test(s)
input
9
10
output
<
input
11
10
output
>
input
00012345
12345
output
=
input
0123
9
output
>
input
0123
111
output
>

去掉前导0,然后比较长度,长度相等再一位一位比较


#include <iostream>
#include<cstdio>
#include<cstring>
#define maxn 10000010
using namespace std;
char a[maxn],b[maxn];
int main()
{
    while(~scanf("%s%s",a,b))
    {
        int lena=strlen(a);
        int lenb=strlen(b);
        int i=0,j=0;
        while(i<lena&&a[i]=='0')
            i++;
        while(j<lenb&&b[j]=='0')
            j++;
        if(lena-i>lenb-j)
        {
            printf(">\n");
            continue;
        }
        else if(lena-i<lenb-j)
        {
            printf("<\n");
            continue;
        }
        while(i<lena&&j<lenb)
        {
            if(a[i]>b[j])
            {
                printf(">\n");
                break;
            }
            else if(a[i]<b[j])
            {
                printf("<\n");
                break;
            }
            else
                i++,j++;
        }
        if(i==lena&&j==lenb)
            printf("=\n");
    };
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值