[quote=“Ciprian”]I managed to understand almost everything, but this line of code I cant warp my head around it " if (i % 5 == 0) the sign “%” is my problem. I know that is a modulus… and calculate the remainder, but in this case what is the point of entire " if (i % 5 == 0)" can somebody explain me step by step what happens under the hood?

[code]#include <stdio.h>

int main(int argc, const char * argv[])

{

```
int i;
for (i = 99; i > 0; i-=3) {
printf(" %d \n", i);
if (i % 5 == 0 ) {
printf("Found one:%d\n", i);
}
}
return 0;
```

}

[/code]

The output is o.k.

I’m waiting your answer…[/quote]

(i realize this is three months old but someone else could have the same question)

So the challenge requires our program to print “Found one” for any of the numbers that are divisible by 5.

If i were to print the output of i % 5, it would take whatever number i currently is and divide it by five and output the remainder. So the numbers divisible by 5 are ones that I can divide by 5 and the remainder would be 0. For example: 25/5 is 5, so there is no remainder. Same as 50/5 is 10 and there is no remainder. For these two cases 25 % 5 would be 0, and 50/5 would be 0. The expression would evaluate true and print out Found one.