zoukankan      html  css  js  c++  java
  • 算法训练 阿尔法乘积

    问题描述
      计算一个整数的阿尔法乘积。对于一个整数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 #include <iostream>
     2 #include <string>
     3 using namespace std;
     4 int main()
     5 {
     6     string a;
     7     int b[10];
     8     long long sum=1;
     9     long long c;
    10     int k;
    11     int len;
    12     int j;
    13     cin>>a;
    14     len=a.length();
    15       for(int i=a.length()-1;i>=0;i--)
    16     {
    17               b[i]=a[i]-'0';
    18           //    cout<<b[i];
    19     }
    20 //    cout<<endl;
    21    while(len!=1)
    22    {
    23        for(j=0;j<len;j++)
    24       {
    25         if(b[j]!=0)
    26         sum=sum*b[j];
    27       }    
    28     // cout<<"sum"<<sum<<endl;
    29       c=sum;
    30       sum=1;
    31       k=0;
    32        while(c)
    33        {
    34                
    35                b[k]=c%10;
    36                c=c/10;
    37                k++;
    38                len=k;
    39        }  
    40       //cout<<"len   "<<len<<endl;
    41       
    42    }    
    43     cout<<b[0];//<<b[1]<<b[2];
    44     return 0;
    45 }
  • 相关阅读:
    数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
    现代 PHP 新特性系列(六) —— Zend Opcache
    Apache配置参数详解
    Git的常用命令
    PHP如何防止XSS攻击
    CSRF的防御实例(PHP)
    Web安全之CSRF攻击
    PHP五种常见的设计模式
    PHP四种基础算法详解
    php遍历文件的5种方式
  • 原文地址:https://www.cnblogs.com/jweie/p/8383616.html
Copyright © 2011-2022 走看看