일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Direct2D
- doit코틀린프로그래밍
- c++
- 백준
- 배열
- 이지스퍼블리싱
- CS
- 문법
- 알고리즘
- 김성엽
- Programming
- Visual Studio
- 티스토리
- VS ERROR
- 포인터
- 함수
- Tips프로그래밍강좌
- Windows
- c
- Javascript
- 지식나눔강좌
- 연산자
- tipssoft
- Win32
- 리뷰
- Tips강좌
- c#
- Kotlin
- 프로그래밍
- Desktop
Archives
- Yesterday
- Today
- Total
F.R.I.D.A.Y.
콜라츠 추측 본문
반응형
정확한건 뭔지 모르겠고, 스터디에서 해보라고 해서 한거.
인풋을 받고나서 해당 인풋이 A0가 된다.
An이(이 때, n은 0과 자연수) 짝수라면 2로 나누고, 홀수라면 3An + 1로 처리하고, 처리한 것이 A(n+1)이 된다.
콜라츠의 추측에 의하면 결국 1로 값이 나온다고 하는데 아직 모든 자연수에 해당하는지는 증명되지 않은 모양.
#include <stdio.h>
int main(void) {
int min, max, sum, count;
min = max = sum = count = 0;
int input;
printf("Input : ");
scanf_s("%d", &input);
min = max = sum = input;
printf("Collatz conjecture:%8d", input);
while (!(input == 1)) {
if (input % 2) {
input = 3 * input + 1;
}
else {
input /= 2;
}
printf(" >> %8d", input);
if (min > input) {
min = input;
}
if (max < input) {
max = input;
}
sum += input;
count++;
if (!(count % 8)) {
printf("\n");
}
}
printf("\n");
printf("Count\t: %d\n", count);
printf("Max\t: %d\n", max);
printf("Min\t: %d\n", min);
printf("Sum\t: %d\n", sum);
printf("Avg\t: %d\n", sum / count);
return 0;
}
Result:
728x90
반응형
Comments