43.6k views
5 votes
A positive integer is called a "self-divisor" if every decimal digit of the number is a divisor of the number, that is, the number is evenly divisible by each and every one of its digits. For example, the number 128 is a selfdivisor because it is evenly divisible by 1, 2, and 8. However, 26 is not a self-divisor because it is not evenly divisible by the digit 6. Note that 0 is not considered to be a divisor of any number, so any number containing a 0 digit is NOT a self-divisor. There are infinitely many self-divisors.

User Evve
by
6.2k points

1 Answer

5 votes

Answer:

// Program is written in C++

// Comments are used for explanatory purpose

// Program starts here

#include<iostream>

using namespace std;

int main()

{

//Declare Variable

int number;

// Prompt to enter a positive number

cout<<"Enter a positive number: ";

cin>>number;

// Test if number is positive

if (number > 0)

{

// Test for self divisibility

// Get length of number

string str = to_string(number);

int length = str.length()

// Convert number to array

int Num[length];

for (int i = length-1; i >= 0; i--) {

Num[i] = number % 10;

number /= 10;

} int checkdiv = 0;

// Check for divisibility

for(int I = 0; I<length-1; I++)

{

if(Num[I] == 0 || Number%Num[I] != 0)

{

checkdiv++;

}

}

if(checkdiv == 0){ cout<<"Number is self divisor";}

else { cout<<"Number is not self divisor";}

}

else

{

cout<<"Number can't be less than 0";

}

return 0;

}

// End of program

User Username
by
5.6k points