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