蓝桥阿尔法乘积 JAVA暴解

和之前做过的缩位求和是一个道理

计算一个无符号整数的阿尔法乘积。对于一个无符号整数x来说,
它的阿尔法乘积是这样来计算的:如果x是一个个位数,
那么它的阿尔法乘积就是它本身;
否则的话,x的阿尔法乘积就等于它的各位非0
的数字相乘所得到的那个整数的阿尔法乘积。
例如,4018224312的阿尔法乘积等于8,
它是经过以下的几个步骤计算出来的:
  4018224312à418224312à3072
  3072à372à42
  42à4*2à8
输入:
  4018224312
输出:
  8
思路:就是挨个乘起来,遇到0跳过,接着乘,如果大于两位数,拆开再乘就可。

public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		long x = scanner.nextLong();
		while (x > 10) {                                  //就是大于两位数
			long count = 1;
			String string = x + "";                      //给一个空的字串
			for (int i = 0; i < string.length(); i++) {
				if (string.charAt(i) - '0' != 0) {      //强制转换,不等于0,才可以乘
					count *= string.charAt(i) - '0';    //乘完以后,强制转换。
				}
			}  
			x = count;                                  //替换出来
		}
		System.out.println(x);                        
	}

小剧场:一世人生有热凉,晨要担当,暮要担当。

发布了108 篇原创文章 · 获赞 113 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43771695/article/details/104583859
今日推荐