3184:练30.2 错误减法

3184:练30.2 错误减法

时间限制: 1000 ms 内存限制: 65536 KB
提交数: 2436 通过数: 1923
【题目描述】
小明现在正在学习如何将一个数减去 1,但是他在处理两位数以上,位数更高的数的时候出现了错误。小明对于一个数做以下的运算:
如果一个数的个位不是 0,他将这个数减去1。
如果一个数的个位是 0,他将这个数除以10。

你现在有一个整数 n。小明会进行 k 次运算。你的任务是求出小明在对这个整数进行 k 次运算之后得到的结果。

【输入】
输入的第一行包含两个整数 n 和 k(2≤n≤109,1≤k≤50)。

【输出】
输出只有一个整数——小明对整数 n 执行了 k 次操作后的结果。

#include<bits/stdc++.h>
using namespace std;

int main(){
	int k,n;
	cin>>k>>n;
	for(int i=0;i<n;i++){
		if(k%10==0){
			k = k/10;
		}else{
			k--;
		}
	} 
	cout<<k;
	return 0;
}

解题思路:在代码中,循环次数给定为n次,k是给定的数字,for循环循环n次,for循环中每次循环做判断个位数是否为0,如果是0那么除以10,如果不是0那么自减1。

posted @ 2024-03-11 12:47  Pudding10335  阅读(69)  评论(0编辑  收藏  举报