반응형
문제의 저작권은 SW Expert Academy에 있습니다.
int로 하면 에러난다. long으로 바꿔줘야함.
package Swea;
import java.util.*;
import java.io.*;
public class 퀴즈 {
public static long[] sum;
public static int cnt = 1;
public static long M = 1000000007;
public static void main(String[] args) throws Exception {
System.setIn(new FileInputStream("test.txt"));
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int tc = 0; tc < T; tc++) {
int N = sc.nextInt();
System.out.println("#" + tc + " " + sigma(N));
}
}
public static long sigma(int n) {
if(n==1) return 1;
return(pow(n,n)%M + sigma(n-1)%M)%M;
}
public static long pow(int a, int b) {
if(b==0) return 1;
if(b==1) return a;
long t = pow(a,b/2);
if(b%2 == 0) return (t*t)%M;
else return (((t*t)%M)*a)%M;
}
}
반응형
'2. 알고리즘사이트 > 2. Swea' 카테고리의 다른 글
지희의 고장난 계산기 [SWEA 1808][Java] (0) | 2020.03.06 |
---|---|
초콜릿과 건포도 [SWEA 9282][Java] (1) | 2020.03.04 |
단순 2진 암호코드 [Swea 1240][Java] (0) | 2020.03.02 |
서로소 집합 [Swea 3289][Java] (0) | 2020.03.02 |
최장경로 [SWEA 2814][Java] (0) | 2020.03.01 |