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 />

题目输入

题目输出

输入/输出样例

输入格式


                        

输出格式


                        

提示

Const
    SIZE = 200;

Type
    hugeint = Record
        len : Integer;
        num : Array[1..SIZE] Of Integer;
    End;
var a,b:hugeint;
    s1,s2:string;
    i:integer;
Function over(a, b : hugeint) : integer;
    Var
        i : Integer;
    Begin
        If (a.len>b.len) Then
            Begin
                over :=1 ;
                Exit;
            End;
        If a.len < b.len Then
            Begin
                over := 2;
                Exit;
            End;
        For i := a.len DownTo 1 Do
            Begin
                If a.num[i] > b.num[i] Then
                    Begin
                        over := 1;
                        Exit;
                    End;
                If a.num[i] < b.num[i] Then
                    Begin
                        over := 2;
                        Exit;
                    End;
            End;
        over := 1;
    End;
   procedure datain;
   begin
    assign(input,'big.in');  assign(output,'big.out');
    reset(input); rewrite(output);
    readln(s1);
    readln(s2);
    a.len:=length(s1);
    b.len:=length(s2);
    for i:=1 to a.len do  a.num[i]:=ord(s1[a.len-i+1])-ord('0');
    for i:=1 to b.len do  b.num[i]:=ord(s2[b.len-i+1])-ord('0');
   end;
   begin
    datain;
    writeln(over(a,b));
   close(input);close(output);
   end.

<br />