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 }
  • 相关阅读:
    python
    HTTP和HTTPS协议,详解
    常用加密算法之非对称加密算法
    Docker容器数据卷-Volume详解
    使用nsenter进入docker容器后端报错 mesg: ttyname failed: No such file or directory
    Docker 查看容器 IP 地址
    Docker容器数据卷volumes-from
    Docker 进入容器的4种方法
    Jmeter之Bean shell使用(二)
    Jmeter之Bean shell使用(一)
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6536210.html
Copyright © 2011-2022 走看看