Codeforces 977A Wrong Subtraction Solution & Explanation

Difficulty : 800

Problem Description

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 n. Tanya will subtract one from it k times. Your task is to print the result after all k subtractions.

It is guaranteed that the result will be positive integer number.

Input

The first line of the input contains two integer numbers n and k (2≤ n ≤109, 1≤ k ≤50) — the number from which Tanya will subtract and the number of subtractions correspondingly.

Output

Print one integer number — the result of the decreasing n by one k times.

It is guaranteed that the result will be positive integer number.

Eamples

Input512 4
Output50
Input1000000000 9
Output1

Note

The first example corresponds to the following sequence: 512→511→510→51→50

Understand this problem in 3 seconds:

You are given an integer number n. And will subtract one from it k times. Follow the rules :

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

Solution

C# Solution

Solution1

string[]arr = Console.ReadLine().Split(' '); //split by space
int n = int.Parse(arr[0]);
int k = int.Parse(arr[1]);


for(int i=0;i<k;i++){
    if(n%10==0){
        n = n/10;
    }
    else {
        n = n-1;
    }
}
Console.WriteLine(n);

Java Solution

Solution1

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String[] arr = scanner.nextLine().split(" ");
        
        int n = Integer.parseInt(arr[0]);    
        int k = Integer.parseInt(arr[1]);  
        
        
        for(int i=0;i<k;i++){
            if(n%10==0){
                n = n/10;
            }
            else {
                n = n-1;
            }
        }
        
        System.out.println(n);
    }
}

Conclusion

🧡If my solution helps, that is my honor!

🧡You can support me by sharing my posts, thanks you~~

✅If you got any problem about the explanation or you need other programming language solution, please feel free to let me know !!

The problem link : Problem – 977A – Codeforces

Random Codeforces Posts

Leave a Reply

Your email address will not be published. Required fields are marked *