牛客笔试-变换次数

题目地址

题目

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

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

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

输入描述:

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

输出描述:

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

示例1

输入

285

输出

2

题解

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

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

python

bash 复制代码
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

bash 复制代码
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();
    }
}
相关推荐
紫小米33 分钟前
后端日志管理
python·fastapi
你不是我我33 分钟前
【Java 开发日记】HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·开发语言·微服务
雪碧聊技术1 小时前
大模型爆火!Java后端如何抓住Agent全栈开发的风口
java·大模型·agent·全栈开发
IT大白鼠1 小时前
AIGC性能的关键瓶颈:算力、数据、算法三者如何互相制约?
算法·aigc
白雪茫茫2 小时前
监督学习、半监督学习、无监督学习算法详解
python·学习·算法·ai
FengyunSky2 小时前
浅析 空间频率响应 SFR 计算
算法
つ安静与叛逆的小籹人2 小时前
小红书API:通过笔记ID获取笔记详情数据教程
笔记·python
树下水月2 小时前
PHP 一种改良版的雪花算法
算法·php·dreamweaver
05候补工程师2 小时前
[实战复盘] 拒绝 AI 屎山!我从设计模式中学到的“调教”AI 新范式
人工智能·python·设计模式·ai·ai编程
逻辑驱动的ken2 小时前
Java高频面试场景题25
java·开发语言·深度学习·面试·职场和发展