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。