728x90
Key Point
1. L의 범위에 따라 값의 크기가 상이한 점을 인지
2.값이 1234567891보다 커지는 순간 계속해서 나눠줘야 한다는 점
알게 된 문법
1. long long
#include<iostream>
using namespace std;
int main() {
int N;
long long M = 1234567891;
string str;
long long num[51] = { 0, };
long long sum = 0;
cin >> N;
cin >> str;
for (int i = 0; i < str.length(); i++) {
num[i] = (long long)str[i] - 96;
}
for (int i = 0; i < str.length(); i++) { //0~4
for (int j = 0; j < i; j++) {
num[i] *= 31;
num[i] %= M;
}
sum = (sum + num[i]) % M;
}
cout << sum;
return 0;
}
728x90
'백준 풀이' 카테고리의 다른 글
[백준/BOJ] - 10250번 c++ 풀이 (0) | 2022.11.14 |
---|---|
[백준/BOJ] - 4153번 c++ 풀이 (1) | 2022.11.13 |
[백준/BOJ] - 1436번 c++ 풀이 (0) | 2022.11.12 |
[백준/BOJ] - 1259번 c++ 풀이 (0) | 2022.11.12 |
[백준/BOJ] - 1181번 c++ 풀이 (0) | 2022.11.12 |