1526번 - 금민수
n제한이 작아서 완전탐색으로 풀 수 있다.
맨 끝자리부터 4나 7로 나눠지는지 구하면서 문제를 풀었다.
BFS로도 풀 수 있을 것 같은데, 그냥 while 문을 이용해서 모두 구했다.
<정답 코드>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include<iostream> #include<string> using namespace std; int n; int main() { cin >> n; for (int i = n; i >= 4; i--) { int k = i; while (k!=0) { int ret = k % 10; if (ret !=4 && ret!=7) { break; } k /= 10; } if (k == 0) { cout << i << "\n"; break; } } return 0; } | cs |
반응형