nyoj 1072 : 比大小(大数相减)
来源:互联网 发布:c语言是面向对象的吗 编辑:程序博客网 时间:2024/05/18 03:16
题目描述
给你两个很大的数,你能不能判断出他们两个数的大小呢?
比如123456789123456789要大于-123456
输入
每组测试数据占一行,输入两个不超过1000位的10进制整数a,b
数据保证输入的a,b没有前缀的0。
如果输入0 0表示输入结束。测试数据组数不超过10组
输出
-1111111111111111111111111 22222222
给你两个很大的数,你能不能判断出他们两个数的大小呢?
比如123456789123456789要大于-123456
输入
每组测试数据占一行,输入两个不超过1000位的10进制整数a,b
数据保证输入的a,b没有前缀的0。
如果输入0 0表示输入结束。测试数据组数不超过10组
输出
如果a>b则输出“a>b”,如果a
样例输入
111111111111111111111111111 88888888888888888888-1111111111111111111111111 22222222
0 0
样例输出
a>b
a
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;char s1[10000];char s2[10000];int a[10000];int b[10000];int c[10000];int main(){ while(~scanf("%s%s",s1,s2)) { if(s1[0]=='0'&&s2[0]=='0') break; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); int l=0,k=0,flag=0; if(s1[0]=='-'&&s2[0]!='-') { printf("a<b\n"); continue; } else if(s1[0]!='-'&&s2[0]=='-') { printf("a>b\n"); continue; } else if(s1[0]=='-'&&s2[0]=='-') { for(int i=strlen(s1);i>=1;i--) { a[l++]=s1[i]-'0'; } for(int i=strlen(s2);i>=1;i--) b[k++]=s2[i]-'0'; flag=1; } else { for(int i=strlen(s1);i>=0;i--) { a[l++]=s1[i]-'0'; } for(int i=strlen(s2);i>=0;i--) b[k++]=s2[i]-'0'; } l=max(l,k); int m=0; for(int i=0;i<=l;i++) { c[i]=a[i]-b[i]-m; if(c[i]<0&&c[i+1]>0) { c[i]=c[i]+10; m=1; } else { c[i]=c[i]; m=0; } } int x=0; for(int i=l;i>=0;i--) { if(c[i]!=0) { x=i; break; } } if(x==0&&c[x]==0) printf("a==b\n"); else if((c[x]<0&&flag==1)||(c[x]>0&&flag==0)) { printf("a>b\n"); } else if((c[x]<0&&flag==0)||(c[x]>0&&flag==1)) { printf("a<b\n"); } }}
阅读全文
0 0
- nyoj 1072 : 比大小(大数相减)
- nyoj大数问题 比大小
- NYOJ 73 比大小 (大数)
- nyoj 73 比大小 【java大数】
- nyoj.73 比大小【大数问题】 2015/03/09
- 南阳73 比大小(大数)
- 【大数问题】比大小
- 比大小 大数问题
- nyoj 73 比大小
- NYOJ 73 比大小
- NYOJ 73 比大小
- NYOJ 73 比大小
- NYOJ 比大小 73
- nyoj 73 比大小
- nyoj-73-比大小
- nyoj-73-比大小
- NYOJ 73 比大小
- NYOJ 73 比大小
- 【bzoj3522】[Poi2014]Hotel
- 使用map巧妙去除集合中重复的对象
- 初学html5
- 竹迩带你玩懂设计模式(2)-设计模式一览
- WebService学习(四)——调用第三方提供的webService服务
- nyoj 1072 : 比大小(大数相减)
- 代码块的解释,构造代码块,静态代码块,静态常量和常量以及静态成员变量和对象成员变量的区别
- 使用mkfs.ubifs制作文件系统时写入文件扩展属性的方法
- 在virtualbox中安装win7
- 编写一个手机类(Mobile),包括手机品牌(brand)、手机型号(type),方法包括显示手机信息,并编写测试类进行对象的创建
- 统计个位数字
- Linux学习(二十五):网络超时检测
- matlab计算DB指标的一点注释,
- JAVA学习之路-简单的城堡游戏(一)