public class Hashing_15829 {
static final int n = 31;
static final int mod = 1234567891;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int len = scan.nextInt();
String s = scan.next();
long pow = 1;
long answer = 0;
for(int i = 0; i < len; i++) {
answer += (s.charAt(i) - 'a' + 1) * (pow % mod) ;
pow *= n;
}
System.out.println(answer % mod);
}
}
์ฒ์๋ณด๋ 50์ ใ
ใ
ใ
ใ
๋ฌธ์์ด ๊ธธ์ด๋ณ๋ก ์ ์๊ฐ ์ฃผ์ด์ง๋ ๋ฌธ์ ์๋ค ๋ฌธ์ ๊ผผ๊ผผํ ์ฝ๊ณ ํ์ใ
ใ
๐ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ์ต๋ 50์ด๋ฏ๋ก 31์ 50์ ๊ณฑ์ด ๋ณ์ pow์ ์ ์ฅ๋ ์ ์๋๋ฐ ๋ฌด๋ ค 3.6990030696076007e+74๋ผ๋ ์ซ์์๋ค long ๋ฒ์๋ฅผ ํจ์ฌ ์ด๊ณผํ๋ ๊ฒ๐๐
mod ์ฐ์ฐ์ ๋จผ์ ํด์ฃผ๊ณ ๋ฒ์ ์์ ๋ค์ด์ค๋๋ก ์์ ํด์ฃผ์๋ค
public class Hashing_15829 {
static final int n = 31;
static final int mod = 1234567891;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int len = scan.nextInt();
String s = scan.next();
long pow = 1;
long answer = 0;
for(int i = 0; i < len; i++) {
answer += (s.charAt(i) - 'a' + 1) * pow ;
pow = (pow *= n) % mod;
}
System.out.println(answer % mod);
}
}