algorithm

BOJ 1629

rkawk 2022. 10. 1. 15:31
๋”๋ณด๊ธฐ

๊ณฑ์…ˆ ์„ฑ๊ณต

 

 

0.5 ์ดˆ (์ถ”๊ฐ€ ์‹œ๊ฐ„ ์—†์Œ) 128 MB 73704 19953 14691 26.303%

๋ฌธ์ œ

์ž์—ฐ์ˆ˜ A๋ฅผ B๋ฒˆ ๊ณฑํ•œ ์ˆ˜๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค. ๋‹จ ๊ตฌํ•˜๋ ค๋Š” ์ˆ˜๊ฐ€ ๋งค์šฐ ์ปค์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฅผ C๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— A, B, C๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. A, B, C๋Š” ๋ชจ๋‘ 2,147,483,647 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— A๋ฅผ B๋ฒˆ ๊ณฑํ•œ ์ˆ˜๋ฅผ C๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1 ๋ณต์‚ฌ

10 11 12

์˜ˆ์ œ ์ถœ๋ ฅ 1 ๋ณต์‚ฌ

4โ€‹

๊ฑฐ๋“ญ์ œ๊ณฑ ๋ถ„ํ• ์ •๋ณต ๋ฌธ์ œ์ด๋‹ค.

์ด๋ฌธ์ œ๊ฐ€ ๊ธฐ๋ณธํ˜•์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

 

๋งˆ์ง€๋ง‰์— ๋˜ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ ํ•ด์ฃผ๋Š”๊ฑธ ์žŠ์ง€ ๋ง์ž!

 

#include <iostream>
using namespace std;
long long A, B, C;
void func(int power){
    if(power == 1)
        return;
    if(power%2 == 0){
        func(power/2);
        A = (A*A)%C;
    }else{
        long long oriA = A;
        func(power-1);
        A = A*oriA%C;
    }
}
int main(){
    cin>>A>>B>>C;
    func(B);
    cout<<A%C;
}

'algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BOJ 11758(CCW)  (1) 2022.10.03
BOJ 14500  (0) 2022.10.01
BOJ 9935  (0) 2022.10.01
BOJ 10830  (1) 2022.10.01
BOJ 13172  (0) 2022.09.29