蓝桥:阿尔法乘积

阿尔法乘积

问题描述
  计算⼀个整数的阿尔法乘积。对于⼀个整数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
#include <iostream>
using namespace std;
int main() {
 string s;
 cin >> s;
 while( s.length() > 1 ) {
      int ans = 1;
      for( int i = 0; i < s.length(); i++) {
           if( s[i] != '0') {
               ans *= (int)(s[i] - '0');
            }
       }
      s = "";
      while( ans != 0 ) {
        s += (char)(ans % 10 + '0');
        ans = ans / 10;
      }
 }
 cout << s;
 return 0; 
}
发布了736 篇原创文章 · 获赞 123 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/S_999999/article/details/103355490