1 2 3 4 5 6 7 8 9…
입력10
출력1 2 - 4 5 - 7 8 - 10
3, 6, 9 가 들어가있으면 박수대신 "-" 표시를 출력한다. 이때, 333 이라는 숫자가 들어오면 --- 으로 출력된다.
해결방법)
n이 입력되면
1부터 n까지 주어지는 상황에서
각 숫자 자리마다 3,6,9가 있는지 확인한 후 있으면 있는만큼 "-"출력한다. 없으면 원래 숫자를 출력한다.
여기서 각 숫자마다 자리를 나눠서 확인을 해줘야하는데 10으로 계속 나눠주면서 몫이 0일때 까지 반복한다.
그래서 반복마다 생겨나는 나머지가 각 자리수이기 때문에 이 자리수가 3,6,9인지를 확인해 주었다.
예시) 245 / 10 = 24, 245 % 10 = 5(일의자리수 추출) -> 24/10 = 2, 24%10 = 4(십의자리수 추출) -> 2/10= 0, 2%10 = 2(백의자리수 추출)
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 | #include<iostream> using namespace std; int main() { int n; int num; int mok; int obj; // 나누는 대상 int r; // 나머지값 bool flag = 0; //1로 켜지면 3,6,9가 하나라도 있었다라는것 cin >> n; for(int num = 1; num<=n; num++) { obj = num; flag = 0; do { r = obj % 10; if(r == 3 || r == 6 || r == 9) { flag = 1; printf("-"); } mok = obj/10; obj = mok; }while(mok!=0); if(flag == 1) { printf(" "); continue; } printf("%d ",num); } } | cs |
반응형
'PS > SWEA' 카테고리의 다른 글
2007번 패턴 마디의 길이 (0) | 2018.10.16 |
---|---|
1859번 백만 장자 프로젝트 (0) | 2018.10.13 |
5550번 나는 개구리로소이다 (0) | 2018.10.06 |
1868번 파핑파핑 지뢰찾기 (0) | 2018.09.30 |
SWEA - 혜리의 숫자 나누기 (0) | 2018.09.23 |