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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!