YWC
백준/2231/분해합/C/Python 본문
https://www.acmicpc.net/problem/2231
2231번: 분해합
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이
www.acmicpc.net
1) C
#include <stdio.h>
#include <stdlib.h>
#pragma warning(disable:4996)
int sumn(int n);
int main(void) {
int t,check; t=check = 0;
scanf("%d", &t);
for (int i = 1; i < t; i++) {
if(t==(i+sumn(i))){
printf("%d", i);
check = 1;
return 0;
}
}
printf("0");
return 0;
}
int sumn(int n) {
int res = 0;
while (1) {
res += (n % 10);
n /= 10;
if (n < 1) { break; }
}
return res;
}
2) Python
def solution1(number):
result = number
while(1):
result += (number%10)
if (number/10)<1:
break
number = number//10
return result
def solution2(number):
result =0
for i in range(1, number+1):
if solution1(i) == number:
result = i
break
return result
if __name__=="__main__":
N = int(input())
print(solution2(N))
'공부 > 코테_문제풀이' 카테고리의 다른 글
백준/2798/블랙잭/C/Python (0) | 2023.09.11 |
---|---|
백준/2292/벌집/C/Python (0) | 2023.09.11 |
백준/1978/소수찾기/Python (0) | 2023.09.05 |
백준/4153/직각삼각형/C/python (0) | 2023.09.04 |
백준/9655/돌게임/C (1) | 2023.04.14 |