Description
计算一个整数的阿尔法乘积。对于一个整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身;否则的话,x的阿尔法乘积就等于它的各位非0的数字相乘所得到的那个整数的阿尔法乘积。例如:4018224312的阿尔法乘积等于8,它是按照以下的步骤来计算的:
4018224312 → 418224312 → 3072 → 372 → 42 → 4*2 → 8
编写一个程序,输入一个正整数(该整数不会超过6,000,000),输出它的阿尔法乘积。
Input
输入只有一行,即一个正整数。
Output
输出相应的阿尔法乘积。
Sample Input 1
4018224312
Sample Output 1
8
Hint
HINT:时间限制:1.0s 内存限制:512.0MB
#include<stdio.h>
int main()
{
long long n;
int sum=10,index;
scanf("%lld",&n);
while(sum>=10) //控制最后结果要<10
{
index=1;
while(n>0) //求每次的循环的位数
{
if(n%10!=0) //取不为零的位数
{
index=index*(n%10);
}
n=n/10;
}
n=index; //将每次位数相乘所得结果传递给n
sum=index; //将每次位数相乘所得结果传递给sum
}
printf("%d",sum);
return 0;
}