Java질문

모듈러 연산관련해서 짜보는데 mod(7, 6)은 5로는 값으로 잘 실행되는데
mod안의 숫자가 커지면 0이 나와버립니다.
큰 수를 처리하려면 자료형을 바꿔야 하는 건가요?

	public static void main(String[] args) {
		System.out.println("mod확인용: "+mod(353, 352));
	}
public static int mod(int number, int number2) {
		int result = 0;
		int num = 0;
		int tmp = 0;
		for(int i=2; i<number; i++) {
			int count = 0;
			for(int j=0; j<number; j++) {
				num = (int) (Math.pow(i, j+1) % number);
				count++;	
				if(num == 1 && count == number2) {
					if(i > tmp) {
						tmp = i;
					}
					break;
				}
				if(num == 1 && count != number2) {
					break;
				}
			}
		}
		return tmp;
	}이 텍스트는 숨겨집니다.