题目描述
计算一个整数的阿尔法乘积。
对于一个整数 x 来说,它的阿尔法乘积是这样来计算的:如果 x 是一个个位数,那么它的阿尔法乘积就是它本身;否则的话,x 的阿尔法乘积等于它的各位非0的数字相乘得到的那个整数的阿尔法乘积。
例如:4018224312的阿尔法乘积等于8, 它是按照以下步骤来计算的:
4018224312−−>4∗1∗8∗2∗2∗4∗3∗1∗2−−>3072−−>3∗7∗2−−>42−−>4∗2−−>8
输入
一个正整数 n,可以用long long 来存储n。
输出
输出 n 的阿尔法乘积。
输入样例
4018224312
输出样例
8
CODE
#include<bits/stdc++.h>
using namespace std;
int al(long long n){
if(n<10){
return n;
}
else{
long long a=1;
while(n){
if(n%10!=0){
a*=n%10;
n/=10;
}else n/=10;
}
return al(a);
}
}
int main()
{
long long n;
cin>>n;
cout<<al(n);
return 0;
}
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#define sc scanf
#define pr printf
using namespace std;
int main(){
long long n,m=1;
scanf("%lld",&n);
while(n>10){
while(n>0){
if(n%10) m*=n%10;
n/=10;
}
n=m;m=1;
}
printf("%lld",n);
return 0;
}
天天赞天天看!明天再见,拜拜!