Թվի աստիճանի հաշվում
cmath
գրադարանը տրամադրում է մի շատ հարմար ֆունկցիա pow
, որը ունենալով երկու թիվ որպես արգումենտ (օրինակ pow(2, 8)
) հաշվում է աստիճանը։ Բայց այն սահմանափակվում է իր վերադարձվող տիպով, այսինքն չի կարելի հաշվել օրինակ
այն ուղակի չի տեղավորվի
int
, long long
, double
, long double
տիպերից ոչ մեկի մեջ։ Այն շատ շատ մեծ թիվ է և կարող եք տպել և տեսնել թե ինչ արդյունք կստանա ծրագիրը այդպիսի արժեք տպելիս։
Այսքան մեծ թվերի հետ պարզ տիպերով աշխատել հնարավոր չէ, բայց մեզ կարող է հետաքրքրել ինչ-որ թվի վրա բաժանելիս ստացվող մնացորդը։ Օրինակ ինչ թիվ կստացվի եթե թիվը բաժանենք
7919
և վերցնենք մնացորդը։ Բնականաբար գրելով cout << pow(2, 100) % 7919;
կտա սխալ արդյունք։ Բայց կարելի է ֆունկցիա գրել, որը կնդունի 3 արգումենտ a, b, m
և կհաշվի արտահայտության արժեքը։
Մուտքում տրված է երեք ամբողջ թիվ՝ a
, b
և m
-ը (1 ≤ a, m ≤ , 0 ≤ b ≤ )։ Գրեք power
անունով ֆունկցիա, որը կհաշվի և ելքի միակ տողում տպեք այդ արտահայտության արժեքը։
Մուտք | Ելք |
---|---|
2 10 17 | 4 |
Constraints
Time limit: 0.2 seconds
Memory limit: 512 MB
Output limit: 1 MB