백준(S4) 11653번: 소인수분해 (c11,c99)

2021. 9. 27. 19:23·C언어/백준 문제풀이
반응형

코드를 보기 전에: 소인수분해의 정의: 소인수분해(영어: prime factorization, integer factorization)는

1보다 큰 자연수를 소인수들만의 곱으로 나타내는 것 또는 합성수를 소수의 곱으로 나타내는 방법을 말한다.

(출처 위키백과)

쉽게 말하자면 입력받은 숫자를 1보다 큰 소인수들만의 곱으로 표현하는 것이다.

 

 

Full code

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
36
37
38
39
#include <stdio.h>
int main()
{
    int num;
    scanf("%d", &num);
    for (int a = 2; ; a++)
    {
        if (num == 1) // 주어진 수가 1일때는 아무것도 출력하지 않는다.
            break;
        else
        {
            if (num % a == 0) // 입력한 수가 a로 나누어 떨어질때
            {
                printf("%d\n", a);
                num /= a; // 사람들이 많이 하는 실수! num의 값을 최신화 시켜야 한다.
                for (int i = a; ;)
                {
                    if (num % i == 0) // 72일때처럼 같은 수로 두번 나눠질수도 있기 때문에 if문 사용
                    {
                        printf("%d\n", i);
                        num /= i;
                    }
                    else if (num == i)
                    {
                        printf("%d\n", i);
                        break; // 끝이 없는 반복문이므로 break를 안써주면 코딩이 안된다.
                    }
                    else if (num % i != 0)
                        break;
                }
                if (num == a)
                    break;
            }
        }
    }
}
 
 
 
Colored by Color Scripter
cs
반응형
'C언어/백준 문제풀이' 카테고리의 다른 글
  • 백준(S4) 1934번 최소공배수 (C11,C99)
  • 백준(B2) 10870번: 피보나치 수 5 (C11, C99)
  • 백준(B3) 4153번: 직각삼각형 (c11,c99)
  • 백준(B3) 3009번: 네 번째 점 (c11,c99)
코딩하는_대학생
코딩하는_대학생
Java Developer, Open Source Enthusiast, Proud Son
  • 코딩하는_대학생
    코딩하는 대학생에서 개발자까지
    코딩하는_대학생
  • 전체
    오늘
    어제
    • 분류 전체보기 (218)
      • 코딩하는 대학생의 책 추천 (8)
        • 클린코드 (5)
        • 헤드퍼스트 디자인패턴 (3)
      • Backend (8)
        • Spring (14)
        • AWS (3)
        • 회고 (4)
        • Redis (5)
        • 다양한 시각에서 바라본 백엔드 (3)
      • Python (35)
        • 개념 및 정리 (15)
        • 백준 문제풀이 (20)
      • JAVA (17)
        • 개념 및 정리 (14)
        • 백준 문제풀이 (2)
      • 왜? (7)
      • C언어 (42)
        • 개념 및 정리 (9)
        • 백준 문제풀이 (32)
      • 개인 공부 (27)
        • 대학 수학 (5)
        • 대학 영어 (10)
        • 시계열데이터 처리 및 분석 (5)
        • 컴퓨터 네트워크 (6)
        • 운영체제 (1)
      • 솔직 리뷰 (23)
        • 꿀팁 (6)
        • IT기기 (1)
        • 국내 여행 (7)
        • 맛집 (2)
        • 알바 리뷰 (2)
      • 대외활동 (17)
        • 체리피우미 3기 (4)
        • 꿀잠이들 6기 (13)
      • 음식 평가 (1)
      • 일상 & 근황 (2)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩하는_대학생
백준(S4) 11653번: 소인수분해 (c11,c99)
상단으로

티스토리툴바