蓝桥杯 整数变换

原题目链接

问题描述

小蓝有一个整数 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
相关推荐
秋说8 分钟前
【PTA数据结构 | C语言版】线性表循环右移
c语言·数据结构·算法
tan77º33 分钟前
【Linux网络编程】Socket - TCP
linux·网络·c++·tcp/ip
浩瀚星辰20241 小时前
图论基础算法:DFS、BFS、并查集与拓扑排序的Java实现
java·算法·深度优先·图论
古希腊被code拿捏的神1 小时前
【Flutter】面试记录
flutter·面试·职场和发展
Mike_Zhang2 小时前
C++使用WinHTTP访问http/https服务
c++
CHANG_THE_WORLD2 小时前
「macOS 系统字体收集器 (C++17 实现)」
开发语言·c++·macos
GiraKoo2 小时前
【GiraKoo】Breakpad 崩溃分析系统
c++
妄想出头的工业炼药师2 小时前
python和C++相互调用使用
开发语言·c++
景彡先生2 小时前
C++17 并行算法:std::execution::par
开发语言·c++
JiaJZhong3 小时前
力扣.最长回文子串(c++)
java·c++·leetcode