牛客笔试-变换次数

简介: 牛客笔试-变换次数

题目

牛牛想对一个数做若干次变换,直到这个数只剩下一位数字。

变换的规则是:将这个数变成 所有位数上的数字的乘积。比如285经过一次变换后转化成285=80.

问题是,要做多少次变换,使得这个数变成个位数。

输入描述:

输入一个正整数。小于等于2,000,000,000。

输出描述:

输出一个整数,表示变换次数。

示例1

输入

285

输出

2

题解

直接模拟题目中的运算即可,开启一个循环,不断计算当前数字的每个位数的和,将最终结果赋值回num

循环结束的标志是num为个位数

python

num = int(input("Enter a number: "))
count = 0
while num > 9:
    a = num % 10  
    while num // 10 > 0:
        num //= 10  
        a *= num % 10  
    count += 1
    num = a
print(count)

Java

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        int count = 0;
        while (num > 9) {
            int a = num % 10; 
            while (num / 10 > 0) {
                num /= 10;
                a *= num % 10; 
            }
            count++;
            num = a;
        }
        System.out.println(count);
        scanner.close();
    }
}


目录
相关文章
|
存储 项目管理 Python
数据导入与预处理-第4章-数据获取python读取docx文档(上)
数据导入与预处理-第4章-pandas数据获取docx文档 1.python读取docx文档概述 1.1 从Word文件获取数据 1.2 python-docx库介绍 1. Paragraph类 2. Table类
数据导入与预处理-第4章-数据获取python读取docx文档(上)
|
XML 存储 安全
深入理解HttpSecurity的设计
介绍了基于配置文件的使用方式以及实现细节,如下:
219 0
|
算法 安全 编译器
【C++ 关键字 override】C++ 重写关键字override(强制编译器检查该函数是否覆盖已存在的虚函数)
【C++ 关键字 override】C++ 重写关键字override(强制编译器检查该函数是否覆盖已存在的虚函数)
714 0
|
10月前
|
安全 数据挖掘 BI
欢迎使用Quick BI,开启您的智能数据分析之旅!
欢迎选择Quick BI作为您的数据分析伙伴!本文将为您介绍一个月全功能免费试用教程,帮助您轻松上手。请确保在PC环境下操作。
965 6
|
文字识别 开发工具 C++
PyMuPDF 1.24.4 中文文档(一)(2)
PyMuPDF 1.24.4 中文文档(一)
1229 0
|
Java 定位技术 调度
「阿里开发者」微信公众平台9-10月阅读排行榜来袭!
今天,推出「阿里开发者」微信公众号双月阅读排行榜,希望读者可以从阿里人优秀的技术干货硬技能、个人经验软技能中得到成长的启迪!
|
算法 C++
只出现一次的数字(C++)
只出现一次的数字(C++)
105 0
企业做数字化转型,请先避开这5个坑!
很多企业常常因为没有提前认知到数字化的本质,最终导致数字化转型的失败。因此,在企业落地数字化之前,务必要先避免以下5种容易踩到的大坑。
|
编解码 人工智能 自然语言处理
SIGGRAPH2023|DreamFace:一句话生成 3D 数字人?
SIGGRAPH2023|DreamFace:一句话生成 3D 数字人?
338 0
|
存储 算法 搜索推荐
「数据结构与算法Javascript描述」十大排序算法
「数据结构与算法Javascript描述」十大排序算法
「数据结构与算法Javascript描述」十大排序算法