大數比較 NYOJ 73

2022-02-01 11:50:47 字數 1756 閱讀 5847

時間限制:3000 ms  |  記憶體限制:65535 kb

難度:2

描述給你兩個很大的數,你能不能判斷出他們兩個數的大小呢?

比如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

a1//nyoj-比大小2//

大數模板

3 #include4 #include5 #include6 #include7

using

namespace

std;

8#define maxn 9999

9#define maxsize 10

10#define dlen 4

11char str1[1002],str2[1002

];12

class

bignum

13

19 bignum(const

char*);

20bool

operator > (const bignum & t)const

; 21

}; 22 bignum::bignum(const

char*s)40}

41bool bignum::operator>(const bignum & t) const42

56else

57return

false

; 58}59

60int

main()

65bignum big1(str1);

66bignum big2(str2);

67if(strcmp(str1,str2) == 0

)else

if(str1[0] == '

-' && str2[0] == '-'

)else

if(str1[0] == '

-' && str2[0] != '-'

)else

if(str2[0] == '

-' && str1[0] != '-'

)else

78}79return0;

80 }

1

//最優解

2 #include3 #include

4using

namespace

std;56

intmain()721

else

if(a>"

0"&&b>"

0"||a<"

0"&&b<"

0"&&a.length()>b.length()||a>b)

22 cout<<"

a>b

"<23else

if(a<"

0"&&b>"

0"&&a.length()>b.length()||a>b)

24 cout<<"

a"<2526

}27 }

NYOJ 題目73 比大小

描述 給你兩個很大的數,你能不能判斷出他們兩個數的大小呢?比如123456789123456789要大於 123456 輸入 每組測試資料佔一行,輸入兩個不超過1000位的10進製整數a,b 資料保證輸入的a,b沒有字首的0。如果輸入0 0表示輸入結束。測試資料組數不超過10組 輸出如果a b則輸出...

NYOJ 大數階乘

描述 我們都知道如何計算乙個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它?輸入 輸入乙個整數m 0 m 5000 輸出 輸出m的階乘,並在輸出結束之後輸入乙個換行符 樣例輸入 樣例輸出 include include define max 20000 最大數5000 5000 4 i...

NYOJ 尋找最大數

時間限制 1000 ms 記憶體限制 65535 kb 難度 2描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n,m...