蓝桥杯 整数变换

原题目链接

问题描述

小蓝有一个整数 n。每分钟,小蓝的数都会发生变化,变为上一分钟的数减去上一分钟的数的各个数位和。

例如,如果小蓝开始时的数为 23,则:

  • 下一分钟变为:23 − (2 + 3) = 18
  • 再下一分钟变为:18 − (1 + 8) = 9
  • 再下一分钟变为:9 − 9 = 0

共经过了 3 分钟变为 0。

给定一个正整数,请问这个数多少分钟后变为 0。


输入格式

输入一行包含一个整数 n


输出格式

输出一个整数,表示答案。


样例输入

in 复制代码
23

样例输出

out 复制代码
3

评测用例规模与约定

  • 对于 30% 的评测用例,1 ≤ n ≤ 1000
  • 对于 60% 的评测用例,1 ≤ n ≤ 10^6
  • 对于所有评测用例,1 ≤ n ≤ 10^9

c++代码

cpp 复制代码
#include<bits/stdc++.h>

using namespace std;

int change(int x) {
    int sum = x;
    while(x > 0) {
        sum -= x % 10;
        x /= 10;
    }
    return sum;
}

int main() {
    int n, cont = 0;
    cin >> n;
    while(n > 0) {
        cont++;
        n = change(n);
    }
    cout << cont;
    return 0;
}//by wqs
相关推荐
fie88892 小时前
NSCT(非下采样轮廓波变换)的分解和重建程序
算法
晨晖22 小时前
单链表逆转,c语言
c语言·数据结构·算法
沐雪架构师3 小时前
大模型Agent面试精选15题(第四辑)-Agent与RAG(检索增强生成)结合的高频面试题
面试·职场和发展
kk哥88993 小时前
C++ 对象 核心介绍
java·jvm·c++
helloworddm3 小时前
WinUI3 主线程不要执行耗时操作的原因
c++
YoungHong19923 小时前
面试经典150题[072]:从前序与中序遍历序列构造二叉树(LeetCode 105)
leetcode·面试·职场和发展
无能者狂怒4 小时前
YOLO C++ Onnx Opencv项目配置指南
c++·opencv·yolo
im_AMBER4 小时前
Leetcode 78 识别数组中的最大异常值 | 镜像对之间最小绝对距离
笔记·学习·算法·leetcode
集智飞行4 小时前
c++函数传参的几种推荐方式
开发语言·c++
鼾声鼾语4 小时前
matlab的ros2发布的消息,局域网内其他设备收不到情况吗?但是matlab可以订阅其他局域网的ros2发布的消息(问题总结)
开发语言·人工智能·深度学习·算法·matlab·isaaclab