2130 - [数值问题]高精度比较

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB


<br />

<span>高精度比较(bigpas/c/cpp)&nbsp;</span> 

<span>【问题描述】&nbsp;</span> 

<span>输入两个高精度正整数a和b(a,b的位数&lt;=200),比较这两个数的的大小</span> 

【输入格式】

<br />

<span><span style="font-size:14px;line-height:28px;">输入共两行,分别为a和b</span></span> 

<span><span style="font-size:14px;line-height:28px;">【输出格式】</span></span> 

<span><span style="font-size:14px;line-height:28px;">输出共一行,一个数</span></span> 

<span><span style="font-size:14px;line-height:28px;">若a&gt;=b 则输出结果1</span></span> 

<span><span style="font-size:14px;line-height:28px;">若a&lt;b &nbsp;则输出结果2</span></span> 

<span style="font-family:'Microsoft Yahei';font-size:14px;line-height:28px;background-color:#F5F5F5;">【输入样例1】&nbsp;</span><br />

1234567890000

<span><span style="font-size:14px;line-height:28px;"><span style="font-family:'Microsoft Yahei';font-size:14px;line-height:28px;background-color:#F5F5F5;">1234567890001</span><br />

<span>【输出样例1】</span> 

2

<br />

题目输入

题目输出

输入/输出样例

输入格式


                        

输出格式


                        

C++解答

#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
char a1[202],b1[202];
int a[202],b[202];
int main()
{
	gets(a1);
	gets(b1);
	a[0]=strlen(a1);
	b[0]=strlen(b1);
	for(int i=1;i<=a[0];++i)
	  a[i]=a1[a[0]-i]-48;
	for(int i=1;i<=b[0];++i)
	  b[i]=b1[b[0]-i]-48;
	if(a[0]<b[0])printf("2");
	if(a[0]>b[0])printf("1");
	if(a[0]==b[0])
    {
	  for(int i=b[0];i>=1;--i)
      {
		 if(a[i]<b[i])
      {   printf("2");
          break;
	  }
	  if(a[i]>b[i])
	  {
			printf("1");
			break;
	  }
      }
    }
    system("pause");
    
    return 0;
}

Java解答

package DaShu;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner cin=new Scanner(System.in);
		BigInteger a,b;
		a=cin.nextBigInteger();
		b=cin.nextBigInteger();
		if (a.compareTo(b)==-1)
		{
			System.out.println(2);
		}
		else System.out.println(1);
	}
}