蓝桥杯ALGO-104——算法训练 阿尔法乘积
2017-03-11 22:46
239 查看
算法训练 阿尔法乘积
时间限制:1.0s 内存限制:512.0MB
问题描述
计算一个整数的阿尔法乘积。对于一个整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身;否则的话,x的阿尔法乘积就等于它的各位非0的数字相乘所得到的那个整数的阿尔法乘积。例如:4018224312的阿尔法乘积等于8,它是按照以下的步骤来计算的:
4018224312 → 4*1*8*2*2*4*3*1*2 → 3072 → 3*7*2 → 42 → 4*2 → 8
编写一个程序,输入一个正整数(该整数不会超过6,000,000),输出它的阿尔法乘积。
输入格式:输入只有一行,即一个正整数。
输出格式:输出相应的阿尔法乘积。
输入输出样例
样例输入
4018224312
样例输出
8
时间限制:1.0s 内存限制:512.0MB
问题描述
计算一个整数的阿尔法乘积。对于一个整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身;否则的话,x的阿尔法乘积就等于它的各位非0的数字相乘所得到的那个整数的阿尔法乘积。例如:4018224312的阿尔法乘积等于8,它是按照以下的步骤来计算的:
4018224312 → 4*1*8*2*2*4*3*1*2 → 3072 → 3*7*2 → 42 → 4*2 → 8
编写一个程序,输入一个正整数(该整数不会超过6,000,000),输出它的阿尔法乘积。
输入格式:输入只有一行,即一个正整数。
输出格式:输出相应的阿尔法乘积。
输入输出样例
样例输入
4018224312
样例输出
8
import java.util.Scanner; /** * * @author hhit.soft141.xxf * @date 2017-3-9 * 注释:非递归写法 */ public class Main { public static long getResult(long num) { long sum = 1; String string = String.valueOf(num); char[] charArray = string.toCharArray(); for (int i = 0; i < charArray.length; i++) { if ((int) charArray[i] == 48) { continue; } sum *= ((int) charArray[i]) - 48; } return sum; }
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); long n = scanner.nextLong(); while (n > 9) { n = getResult(n); } System.out.println(n); } }
import java.util.Scanner; /** * * @author hhit.soft141.xxf * @date 2017-3-9 * 注释:递归写法 */ public class Main { public static long getResult(long num) { long sum = 1; String string = String.valueOf(num); char[] charArray = string.toCharArray(); for (int i = 0; i < charArray.length; i++) { if ((int) charArray[i] == 48) { continue; } sum *= ((int) charArray[i]) - 48; } if (sum >= 10) { return getResult(sum); } else { return sum; } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long n = scanner.nextLong(); n = getResult(n); System.out.println(n); } }
相关文章推荐
- 蓝桥杯 ALGO-104 算法训练 阿尔法乘积
- 蓝桥杯 ALGO-104 算法训练 阿尔法乘积
- 蓝桥杯 ALGO-104 算法训练 阿尔法乘积
- 蓝桥杯 - 算法训练 阿尔法乘积 C语言实现
- 蓝桥杯 算法训练 阿尔法乘积
- 蓝桥杯 ALGO-53 算法训练 最小乘积(基本型)
- 蓝桥杯 ALGO-53 算法训练 最小乘积(基本型)
- 蓝桥杯 算法训练 阿尔法乘积
- 蓝桥杯 算法训练 阿尔法乘积
- 蓝桥杯 算法训练VIP 阿尔法乘积(Java解题)
- 蓝桥杯 ALGO-51 算法训练 Torry的困惑(基本型)[前n个质数的乘积]
- 蓝桥杯 ALGO-104 阿尔法乘积(数学)
- 蓝桥杯 ALGO-53 算法训练 最小乘积(基本型)
- 蓝桥杯 ALGO-1 算法训练 区间k大数查询
- 蓝桥杯 ALGO-58 算法训练 字串逆序
- 蓝桥杯 ALGO-85 算法训练 进制转换
- 蓝桥杯 ALGO-103 算法训练 完数
- 蓝桥杯 ALGO-78 算法训练 确定元音字母位置
- 蓝桥杯 ALGO-91 算法训练 Anagrams问题
- 【ShancoLove】带你看蓝桥杯——算法训练 最小乘积(基本型)