2^n
C++
ում int
տիպի փոփոխականները կարող են իրենց մեջ պահել թվեր (մոտ մինչև երկու միլիարդ)։ Դրանցից մեծ թվերի դեպքում ծրագիրը սխալ է աշխատում։ Եթե կարիք կա ավելի մեծ թվերի հետ աշխատելու, որը շատ հաճախ է պատահում օլիմպիական խնդիրներ լուծելուց, կարելի է օգտագործել
long long
տիպը, որը իր մեջ կարող է տեղավորել թվեր։ Այսինքն մոտ մինչև թվեր։int small = 110;
long long big = 3363677713738373;
Շատ հետաքրքիր է փորձել հետևյալ կոդը՝
int n = 2147483648; // 2^31 = 2147483648
int m = 2147483647; // 2^31-1 = 2147483647
cout << n << endl;
cout << m << endl;
Վարժություն`
Մուտքում ունենալով
n
բնական թիվը (0 ≤ n ≤ 40) անհրաժեշտ է հաշվել ու ելքում տպել ը։Մուտք | Ելք |
5 | 32 |
Հետաքրքրության համար կարող եք օգտագործել
int
և տեսնել թե ծրագիրը ինչ կտպի եթե n = 35
։ Կարող եք նաև նույնը փորձարկել pow
ֆունկցիան օգտագործելով։Constraints
Time limit: 0.2 seconds
Memory limit: 512 MB
Output limit: 1 MB