Թվի աստիճանի հաշվում
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