天天看點

Java實作 藍橋杯VIP 算法訓練 阿爾法乘積

藍橋杯–阿爾法乘積

問題描述  計算一個整數的阿爾法乘積。對于一個整數x來說,它的阿爾法乘積是這樣來計算的:如果x是一個個位數,那麼它的阿爾法乘積就是它本身;否則的話,x的阿爾法乘積就等于它的各位非0的數字相乘所得到的那個整數的阿爾法乘積。例如:4018224312的阿爾法乘積等于8,它是按照以下的步驟來計算的:

4018224312 → 418224312 → 3072 → 372 → 42 → 4*2 → 8

編寫一個程式,輸入一個正整數(該整數不會超過6,000,000),輸出它的阿爾法乘積。

輸入格式:輸入隻有一行,即一個正整數。

輸出格式:輸出相應的阿爾法乘積。

輸入輸出樣例樣例輸入4018224312樣例輸出8

import java.util.Scanner;


public class 阿爾法乘積 {
	public static void main(String[] args) {
		Scanner sc =new Scanner(System.in);
		String n=sc.next();
		while(n.length()!=1){
			int sum = 1;
			String s=n;
			for (int i = 0; i < s.length(); i++) {
				int a=s.charAt(i)-'0';
				if (a!=0) {
					sum*=a;
				}
			}
			n=sum+"";
		}
		System.out.println(n);
	}

}