codeforce-------Wrong Subtraction

Little girl Tanya is learning how to decrease a number by one, but she does it wrong with a number consisting of two or more digits. Tanya subtracts one from a number by the following algorithm:

if the last digit of the number is non-zero, she decreases the number by one;
if the last digit of the number is zero, she divides the number by 10 (i.e. removes the last digit).

You are given an integer number nn. Tanya will subtract one from it kk times. Your task is to print the result after all kk subtractions.
It is guaranteed that the result will be positive integer number.InputThe first line of the input contains two integer numbers nn and kk (2≤n≤1092≤n≤109, 1≤k≤501≤k≤50) — the number from which Tanya will subtract and the number of subtractions correspondingly.OutputPrint one integer number — the result of the decreasing nn by one kk times.
It is guaranteed that the result will be positive integer number. Examples
Input
512 4
Output
50
Input
1000000000 9
Output
1
NoteThe first example corresponds to the following sequence: 512→511→510→51→50512→511→510→51→50.

Title effect: a given number n and m, n if the last bit is 0, then n = n / 10, or n = n-1, find the value of n is m times after the operation

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n, m;
int main(){
 cin >> n >> m;
 while(m --){
  if (n % 10 == 0)   n /= 10;
  else               n --;
 }
 printf("%d\n", n);
  return 0;
}
Published 106 original articles · won praise 67 · views 5412

Guess you like

Origin blog.csdn.net/qq_45772483/article/details/105050560