Problem A 풀이 (C++)
문제 링크 : https://codeforces.com/contest/1560/problem/A
k가 최대 1000이기 때문에 먼저 1000번째 숫자까지 구한 후 case마다 답을 한다.
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> using namespace std; int main() { int v[1001]; v[1000] = 0; int idx = 1; int num = 1; while (v[1000] == 0) { if (num % 3 != 0 && num % 10 != 3) { v[idx] = num; idx++; } num++; } int t; cin >> t; while (t--) { int k; cin >> k; cout << v[k] << endl; } return 0; } | cs |
댓글
댓글 쓰기