zoukankan      html  css  js  c++  java
  • C语言 · 阿尔法乘积

    算法训练 阿尔法乘积  
    时间限制: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
     
    作者注释:此题原本以为比较简单,后来才想用字符数组来存放输入的数,再通过遍历加判断来操作,过程中想到了用递归来做,出口为n<10。
     1 #include<stdio.h>
     2 long long A(long long n){
     3     if(n<10){//递归出口 
     4         return n;
     5     }else{
     6         long long JI=1;
     7         while(n!=0){
     8             if(n%10!=0){//若不能被10整除,取余数乘到结果中且对n进行除以10运算 
     9                 JI*=n%10;
    10                 n/=10;
    11             }else//若能被10整除,则结果不变,所以进行除以10运算 
    12                 n/=10;
    13         }
    14         return A(JI);
    15     }
    16 }
    17 main(){
    18     long long x;
    19     scanf("%lld",&x);
    20     printf("%lld",A(x));
    21 }
  • 相关阅读:
    NET 连接池救生员(转载:M$)
    gitflow学习总结
    Apache Zookeeper
    ZZ: C++实现读取整行文本和每次只读入一个单词
    ZZ: C C++ string转char*
    memset
    prinf
    ZZ: C++ int转string from http://pppboy.blog.163.com/blog/static/302037962010378296766/
    XHTML下,JS浮动代码失效的问题 心境
    13个超酷的js显示时间效果 心境
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6536210.html
Copyright © 2011-2022 走看看