The IT Service Excellence Tool Kit has best practices to keep your clients happy and business booming. Inside, you’ll find everything you need to increase client satisfaction and retention, become more competitive, and increase your overall success.

Hi,

I am working on below challeng

I have not undersood the description.

We'll say that a positive int divides itself if every digit in the number divides into the number evenly. So for example 128 divides itself since 1, 2, and 8 all divide into 128 evenly. We'll say that 0 does not divide into anything evenly, so no number with a 0 digit divides itself. Note: use % to get the rightmost digit, and / to discard the rightmost digit.

dividesSelf(128) → true

dividesSelf(12) → true

dividesSelf(120) → false

why if 0 then doe not devide and false?

please advise

I am working on below challeng

I have not undersood the description.

We'll say that a positive int divides itself if every digit in the number divides into the number evenly. So for example 128 divides itself since 1, 2, and 8 all divide into 128 evenly. We'll say that 0 does not divide into anything evenly, so no number with a 0 digit divides itself. Note: use % to get the rightmost digit, and / to discard the rightmost digit.

dividesSelf(128) → true

dividesSelf(12) → true

dividesSelf(120) → false

why if 0 then doe not devide and false?

please advise

Experts Exchange Solution brought to you by

Enjoy your complimentary solution view.

Get this solution by purchasing an Individual license!
Start your 7-day free trial.

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Try dividing 120 by 1, 2, and then 0.

When that doesn't work, try dividing by some number close to zero, like 0.001

128 divides itself since 1, 2, and 8 all divide into 128 evenly.

what it means by 1, 2 and 8 devides evenly for 128?

You can use % to determine if a division is even.

You can't hope to solve this until you understand the has One challenge.

Divide evenly means that the remainder is zero with 2 separately

Divide evenly means that the remainder is zero with 8 separately

or

Divide evenly means that the remainder is zero with 1, 2, 3 combinedly i.e 1*2*8

128 / 2 = 64 r-0 (divides evenly)

128 / 8 = 16 remainder 0, so 128 divides by 1, 2, and 8 evenly, with "no remainder" ...so for the value 128 the function needs to evaluate to TRUE.

65 evaluates to false because 65/6 = 10.833333 , which is not "evenly"

and zero is ALWAYS false (any value with a zero anywhere) because anytime you divide by zero, it's an irrational number.

does that help at all?

so the criteria of the problem is this:

#1 determine the number of digits

#2 you need to divide the number by each of it's digits and if the remainder is zero, that part evaluates to TRUE. (and you can use the "modulus" operator...In Java, the % means modulus...and all it does is determine the remainder. So for example, 65%6=10.833333 , and should return FALSE. 65%5 = 0 and should return TRUE. Modulus says "divide the 1st number by the second number and return the remainder of the operation that "does not" go evenly. So given any number x and y,

if x % y = 0{

return TRUE;

}

else

return FALSE; //BUT you have to do that for each digit in the number.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial```
public boolean dividesSelf(int n) {
for (; n>0;) {
if (n % n == 0)
return true;
n = n / 10;
}
return false;
}
```

i am failing some tests

Expected Runplease advise

dividesSelf(128) → true true OK

dividesSelf(12) → true true OK

dividesSelf(120) → false true X

dividesSelf(122) → true true OK

dividesSelf(13) → false true X

dividesSelf(32) → false true X

dividesSelf(22) → true true OK

dividesSelf(42) → false true X

dividesSelf(212) → true true OK

dividesSelf(213) → false true X

dividesSelf(162) → true true OK

other tests

X

Correct for more than half the tests

1. loop the given number.

2. if the reminder by dividing by 10 is 0 then return false

3. else if divide by 10 to go to each digit and if all those digits evenly divide by giving reminder of 0 then return true

4, return false

```
package com.solution;
public class DevideItself {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("valiue is-->"+dividesSelf(213));
}
public static boolean dividesSelf(int n) {
int k = 1;
boolean temp=false;
while (n > 0) {
if (n % 10 == 0)
return false;
else {
k = (n % 10);
if (n % k != 0)
return false;
else if(n%k==0&&!temp){
temp=true;
//return true;
}
//n = n / 10;
//return false;
// k=n/10;
}
}
return false;
}
}
```

tried something like above going to infinite loop

```
public boolean dividesSelf(int n) {
int k = 1;
boolean temp=false;
while (n > 0) {
if (n % 10 == 0)
return false;
else {
k = (n % 10);
if (n % k != 0)
return false;
// else if(n%k==0&&temp){
else if(n%k==0){
//temp=true;
return true;
}
//n = n / 10;
//return false;
// k=n/10;
}
}
return false;
}
```

above code fails 3 tests

Expected Run

dividesSelf(128) → true true OK

dividesSelf(12) → true true OK

dividesSelf(120) → false false OK

dividesSelf(122) → true true OK

dividesSelf(13) → false false OK

dividesSelf(32) → false true X

dividesSelf(22) → true true OK

dividesSelf(42) → false true X

dividesSelf(212) → true true OK

dividesSelf(213) → false true X

dividesSelf(162) → true true OK

other tests

OK

please advise

```
public boolean dividesSelf(int n) {
int k = n;
if (n % 10 == 0)
return false;
// boolean temp=false;
while (n > 0) {
if (k % (n % 10) != 0) {
return false;
}
n = n / 10;
}
return true;
}
```

above passes all tests. Any improvements/alternate approaches?

Java

From novice to tech pro — start learning today.

Experts Exchange Solution brought to you by

Enjoy your complimentary solution view.

Get this solution by purchasing an Individual license!
Start your 7-day free trial.

why. I'm betting the reason is so you don't have to worry about divide-by-zero errors, though.