c언어 : 약수, 소인수분해 관련 문제 질문
조회수 993회
#pragma warning(disable:4996)
#include<stdio.h>
int main()
{
int N, M, max = 0, maxnum = 0, k = 2, d, i, maxnum1 = 0,
sum = 1, sum1 = 0, cnt = 0;//변수생성
scanf("%d%d", &N, &M);
for (i = N; i <= M; i++)
{
d = i;
sum = 1;
sum1 = 0;
for (k = 2; k <= N; k++)
{
cnt = 0;
while (1)
{
if (d % k == 0) {
d = d / k;
cnt += 1;
}
else if (d % k != 0)
break;
}
sum1 += cnt;
cnt += 1;
sum = sum * cnt;
}
if (maxnum < sum)
{
max = i;
maxnum = sum;
maxnum1 = sum1;
}
}
printf("%d %d %d", max, maxnum, maxnum1);
}
이 문제 입니다. 위에 코드는 제가 작성했는데, 2 24
를 입력하면 다른값이 나오더군요. 도와주십시오.
댓글 입력