알고리즘(Python,Java)

[codeforces] Lucky Division

IT grow. 2019. 11. 29. 13:42
반응형

Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers whose decimal representation contains only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.

Petya calls a number almost lucky if it could be evenly divided by some lucky number. Help him find out if the given number n is almost lucky.

 

 

Input

 

The single line contains an integer n (1 ≤ n ≤ 1000) — the number that needs to be checked.

 

 

Output

In the only line print "YES" (without the quotes), if number n is almost lucky. Otherwise, print "NO" (without the quotes).

 

Using language : python3 

 

def tranlate(user_input):

    YES = "YES"
    NO = "NO"
    if int(user_input) % 4 == 0 or int(user_input) % 7 == 0 or int(user_input) % 47 == 0 :
        return YES
    else:
        user_input = list(user_input)
        check_answer = 0

        for check in range(0,len(user_input)):
            if user_input[check] == '4' or user_input[check] == '7':

                check_answer += 1

        if check_answer == len(user_input) :
            return YES
        else:
            return NO

if __name__ == "__main__":

    user = input()
    print(tranlate(user))

 

반응형