蓝桥杯 整数变换

原题目链接

问题描述

小蓝有一个整数 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
相关推荐
code_pgf11 分钟前
`unordered_map` 详解
c++
叩码以求索35 分钟前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
谙弆悕博士1 小时前
信息系统项目管理师教程(第4版)笔记——第 2 章 信息技术发展
笔记·职场和发展·软考高级·软考·高项·项目经理
一拳一个呆瓜2 小时前
【STL】iostream 编程:检测提取操作产生的错误
c++·stl
稚南城才子,乌衣巷风流2 小时前
判断素数与拓展应用
c++
众少成多积小致巨2 小时前
C++ 规范参考(下)
c++
c238562 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
aaaameliaaa3 小时前
指针之总结
c语言·笔记·算法
宵时待雨3 小时前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz3 小时前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列