n= input()
flag=True
a=[]
for i in range(len(n)):
if n[i]=="4" or n[i]=="7":
continue
else:
flag=False
if (int(n))%4 ==0 or (int(n))%7 ==0 or \
int(n)%47 ==0 or int(n)%44 ==0 or \
int(n)%74 ==0 or int(n)%77 ==0 or \
int(n)%444 ==0 or int(n)%447 ==0 or \
int(n)%474 ==0 or int(n)%477 ==0 or \
int(n)%744 ==0 or int(n)%747 ==0 or \
int(n)%774 ==0 or int(n)%777 ==0:
flag=True
if flag:
print("YES")
else:
print("NO")
먼저 4와 7로만 이루어져 있는지 판별하고
4,7로만 이뤄져있는 숫자들로 나눠 떨어지는지 판별해서 flag 변수에 저장한다.
n이 1~1000이기 때문에 하나하나 케이스를 나눴다.
파이썬에서 한줄을 여러줄로 나누려면 ()괄호를 이용하던가 연산자 뒤에 한칸 띄고 백슬래쉬를 추가하면 된다
'코드포스 풀이' 카테고리의 다른 글
코드포스 344A 풀이 (0) | 2022.01.31 |
---|---|
코드포스 479A 풀이 (0) | 2022.01.30 |
코드포스 136A 풀이 (0) | 2022.01.29 |
코드포스 1352A 풀이 (0) | 2022.01.29 |
코드포스 112A 풀이 (0) | 2022.01.29 |