Skip to content
Related Articles
Check if N can be represented as sum of positive integers containing digit D at least once
• Last Updated : 19 May, 2021

Given a positive integer N and a digit D, the task is to check if N can be represented as a sum of positive integers containing the digit D at least once. If it is possible to represent N in such format, then print “Yes”. Otherwise, print “No”.

Examples:

Input: N = 24, D = 7
Output: Yes
Explanation: The value 24 can be represented as 17 + 7, both containing the digit 7.

Input: N = 27 D = 2
Output: Yes

Approach: Follow the steps to solve the problem:

Below is the implementation of the above approach:

## C++

 `// C++ program for the above approach` `#include ``using` `namespace` `std;` `// Function to check if N contains``// digit D in it``bool` `findDigit(``int` `N, ``int` `D)``{``    ``// Iterate until N is positive``    ``while` `(N > 0) {` `        ``// Find the last digit``        ``int` `a = N % 10;` `        ``// If the last digit is the``        ``// same as digit D``        ``if` `(a == D) {``            ``return` `true``;``        ``}` `        ``N /= 10;``    ``}` `    ``// Return false``    ``return` `false``;``}` `// Function to check if the value of``// N can be represented as sum of``// integers having digit d in it``bool` `check(``int` `N, ``int` `D)``{``    ``// Iterate until N is positive``    ``while` `(N > 0) {` `        ``// Check if N contains digit``        ``// D or not``        ``if` `(findDigit(N, D) == ``true``) {``            ``return` `true``;``        ``}` `        ``// Subtracting D from N``        ``N -= D;``    ``}` `    ``// Return false``    ``return` `false``;``}` `// Driver Code``int` `main()``{``    ``int` `N = 24;``    ``int` `D = 7;``    ``if` `(check(N, D)) {``        ``cout << ``"Yes"``;``    ``}``    ``else` `{``        ``cout << ``"No"``;``    ``}` `    ``return` `0;``}`

## Java

 `// Java approach for the above approach``import` `java.util.*;` `class` `GFG{` `// Function to check if N contains``// digit D in it``static` `boolean` `findDigit(``int` `N, ``int` `D)``{``    ` `    ``// Iterate until N is positive``    ``while` `(N > ``0``)``    ``{``        ` `        ``// Find the last digit``        ``int` `a = N % ``10``;` `        ``// If the last digit is the``        ``// same as digit D``        ``if` `(a == D)``        ``{``            ``return` `true``;``        ``}``        ``N /= ``10``;``    ``}` `    ``// Return false``    ``return` `false``;``}` `// Function to check if the value of``// N can be represented as sum of``// integers having digit d in it``static` `boolean` `check(``int` `N, ``int` `D)``{``    ` `    ``// Iterate until N is positive``    ``while` `(N > ``0``)``    ``{``        ` `        ``// Check if N contains digit``        ``// D or not``        ``if` `(findDigit(N, D) == ``true``)``        ``{``            ``return` `true``;``        ``}``        ` `        ``// Subtracting D from N``        ``N -= D;``    ``}``    ` `    ``// Return false``    ``return` `false``;``}`` ` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `N = ``24``;``    ``int` `D = ``7``;``    ` `    ``if` `(check(N, D))``    ``{``        ``System.out.print(``"Yes"``);``    ``}``    ``else``    ``{``        ``System.out.print(``"No"``);``    ``}``}``}` `// This code is contributed by sanjoy_62`

## Python3

 `# Python3 program for the above approach` `# Function to check if N contains``# digit D in it``def` `findDigit(N, D):``    ` `    ``# Iterate until N is positive``    ``while` `(N > ``0``):``        ` `        ``# Find the last digit``        ``a ``=` `N ``%` `10` `        ``# If the last digit is the``        ``# same as digit D``        ``if` `(a ``=``=` `D):``            ``return` `True` `        ``N ``/``=` `10` `    ``# Return false``    ``return` `False` `# Function to check if the value of``# N can be represented as sum of``# integers having digit d in it``def` `check(N, D):``    ` `    ``# Iterate until N is positive``    ``while` `(N > ``0``):` `        ``# Check if N contains digit``        ``# D or not``        ``if` `(findDigit(N, D) ``=``=` `True``):``            ``return` `True` `        ``# Subtracting D from N``        ``N ``-``=` `D` `    ``# Return false``    ``return` `False` `# Driver Code``if` `__name__ ``=``=` `'__main__'``:``    ` `    ``N ``=` `24``    ``D ``=` `7``    ` `    ``if` `(check(N, D)):``        ``print``(``"Yes"``)``    ``else``:``        ``print``(``"No"``)` `# This code is contributed by mohit kumar 29`

## C#

 `// C# program for the above approach``using` `System;`` ` `class` `GFG{`` ` `// Function to check if N contains``// digit D in it``static` `bool` `findDigit(``int` `N, ``int` `D)``{``     ` `    ``// Iterate until N is positive``    ``while` `(N > 0)``    ``{``         ` `        ``// Find the last digit``        ``int` `a = N % 10;`` ` `        ``// If the last digit is the``        ``// same as digit D``        ``if` `(a == D)``        ``{``            ``return` `true``;``        ``}``        ``N /= 10;``    ``}`` ` `    ``// Return false``    ``return` `false``;``}`` ` `// Function to check if the value of``// N can be represented as sum of``// integers having digit d in it``static` `bool` `check(``int` `N, ``int` `D)``{``     ` `    ``// Iterate until N is positive``    ``while` `(N > 0)``    ``{``         ` `        ``// Check if N contains digit``        ``// D or not``        ``if` `(findDigit(N, D) == ``true``)``        ``{``            ``return` `true``;``        ``}``         ` `        ``// Subtracting D from N``        ``N -= D;``    ``}``     ` `    ``// Return false``    ``return` `false``;``}` ` ` `// Driver Code``public` `static` `void` `Main()``{``    ``int` `N = 24;``    ``int` `D = 7;``     ` `    ``if` `(check(N, D))``    ``{``        ``Console.WriteLine(``"Yes"``);``    ``}``    ``else``    ``{``        ``Console.WriteLine(``"No"``);``    ``}``     ` `}``}` `// This code is contributed by code_hunt.`

## Javascript

 ``
Output:
`Yes`

Time Complexity: O(N)
Space Complexity: O(1)

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up