# Problem In Divisible By 8

Hi,
Can anyone tell what is the problem cause I was getting the correct output but in starters 103 contest it was showing wrong.
Do I need to add recursion to it.
Code-

``````t=int(input())
for i in range(t):
n,m=map(int,input().split())
z=str(n)
k=1
for j in range(n):
if m%8==0:
print(m)
break
``````
``````    elif (m+k)%8==0:
print(m+k)
break
else:
k=k*10
``````

Inputs were-
4
1 7
3 512
4 1044
21 299792458196831048576

Hi, buddy. Actually, no. The problem is not going to be solved in this way. I solved the same problem. And I explained it right here:
codechef.com/viewsolution/1025297287

Visit here. There, I explained this problem. I think, that would be helpful))

1 Like

can you see where is the problem now as I quoted my code

Gotcha, what is wrong with yours. You’re checking for only difference of 1. I mean, your code is just changing one of the characters by 1, which is not match the requirements of the problem. There is a rule that says, if the last 3characters combined is divisible by 8, this number is divisible by 8. For example, 1000 (or 1200, 1800, 1008) is divisible by 8 because 000 is divisible by 8. Didn’t you read my explains that is given in the link I provide? In my opinion, I explained it well there! Read this, that can understand more clear.

1 Like

thanks I got it now