CodeForces 616A 大数的比较 字符串的使用

来源:互联网 发布:java二次开发平台 编辑:程序博客网 时间:2024/06/06 09:43

Comparing Two LongIntegers

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Youare given two very long integers a, b (leadingzeroes are allowed). You should check what number a or b isgreater or determine that they are equal.

Theinput 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.

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

Input

Thefirst line contains a non-negative integer a.

Thesecond line contains a non-negative integer b.

Thenumbers a, b may containleading zeroes. Each of them contains no more than 106 digits.

Output

Printthe symbol "<" if a < b andthe symbol ">" if a > b.If the numbers are equal print the symbol "=".

Examples

input

9
10

output

input

11
10

output

input

00012345
12345

output

=

input

0123
9

output

input

0123
111

output

 

题意:就是两个非负大整数比较大小。

 

思路:去掉前面的 0 即可,应该熟练使用字符串类函数

 

代码:

 

/*=============================AC情况===============================*//*题目网址:   *//*时间: *//*心得: 掌握strlen(),strcmp()的参数意义 */#include<stdio.h>#include<stdlib.h>#include<string.h>#define G 1000013int main() {char a[G],b[G];int la,lb;scanf("%s",a);int ka=0;while(a[ka]=='0')ka++;la=strlen(a+ka);scanf("%s",b);int kb=0;while(b[kb]=='0')kb++;lb=strlen(b+kb);if(la>lb)    printf(">\n");else if(la<lb)printf("<\n");else {if(strcmp(a+ka,b+kb)<0)   printf("<\n");if(strcmp(a+ka,b+kb)==0)  printf("=\n");if(strcmp(a+ka,b+kb)>0)   printf(">\n");}return 0;}/*********************************测试数据***********************************************************************************************************/

 

第117组测试数据错误(超时)代码:

 

#include<stdio.h>#include<stdlib.h>#include<string.h>#define G 1000001 int main() {char a[G],b[G];char a2[G],b2[G];int la,lb,ca,cb;scanf("%s",a);scanf("%s",b);la=strlen(a);lb=strlen(b);int k=0;while(a[k]=='0')k++;ca=la-k;for(int j=k,l=0; j<la; j++,l++)a2[l]=a[j];k=0;while(b[k]=='0')k++;cb=lb-k;for(int j=k,l=0; j<lb; j++,l++)b2[l]=b[j];//printf("%d %d",ca,cb);if(ca>cb)    printf(">\n");else if(ca<cb)printf("<\n");else {if(strcmp(a2,b2)<0)   printf("<\n");if(strcmp(a2,b2)==0)  printf("=\n");if(strcmp(a2,b2)>0)   printf(">\n");}return 0;}

 

0 0
原创粉丝点击