Language/Java

[Java] 1 ~ 10000까지 8이라는 숫자가 나오는 횟수

arajo 2022. 7. 25. 21:33
728x90
package flow;

public class OneTo10000Number8 {

	public static void main(String[] args) {
		/* 
		 * 1 부터 10,000까지의 정수 안에 8이라는 숫자가 총 몇번나오나요? 
		 * 888 => 3번, 8088 => 3번, 8888 => 4번
		 * 답 : 4000번
		 */
		int count = 0;
		
		for(int i = 1; i <= 10000; i++) {
			
			int temp = i;
			
			while(0 < temp) {
				if(temp % 10 == 8) {
					count++;
				}
				temp /= 10;
			}
		}
		System.out.println(count + "번");
	}

}
출력 결과
4000번
package flow;

public class OneTo10000Number8t {

	public static void main(String[] args) {
		int count = 0;
		int wonbon = 0;
        
		for(int num = 1; num <= 10000; num++) {
			wonbon = num;
			// while(num <= 10000 && num > 0){
			while(num > 0) {
				if(num % 10 == 8) {
					count++;
				}
				num /= 10;
			}
			num = wonbon;
		}
		System.out.println("1 ~ 10000까지 8이라는 숫자가 나오는 횟수 : " + count);
	}

}
출력 결과
1 ~ 10000까지 8이라는 숫자가 나오는 횟수 : 4000

둘 다 같다.