프로그래밍/알고리즘
Softeer-연습문제-H-클린알파(C++)
Se-chan Oh
2021. 12. 23. 18:52
문제 링크 :
https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=423&sw_prbl_sbms_sn=40926
문제 개요 :
N초 후 바이러스의 개수 구하기
#include<iostream>
#include<vector>
#define MOD 1000000007
using namespace std;
int main(int argc, char** argv)
{
// 입력
unsigned long P,N;
vector<unsigned long> A(N);
cin >> P >> N;
for (unsigned i=0;i<N;i++){
cin >> A[i];
}
// 계산
unsigned long res = 0;
for (unsigned i=0; i<N; i++){
res *= P;
res %= MOD;
res += A[i];
}
// 출력
printf("%d",res);
return 0;
}
주의해야 할 점
1. 숫자가 크기 때문에 unsigned long 자료형을 사용한다.
2. P배 해준 뒤에는 숫자가 커지기 때문에 반드시 1000000007로 나누어준다.