본문 바로가기
백준 풀이

[백준/BOJ] - 15829번 c++ 풀이

by 반오십 코린이 2022. 11. 12.
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