2
#include <stdio.h>
int main() {
int rangeValue;
int x;
printf("Please input a number to be considered in the range:\n");
scanf("%d", &rangeValue);
while (rangeValue != 1) {
x = rangeValue;
if ((x % 2) == 0) {
x = x/2;
printf("%d,", x);
} else {
x = (3 * x) + 1;
printf("%d,", x);
}
rangeValue--;
}
return 0;
}
내 목표는 1에서부터 rangeValue에 주어진 수까지 Collatz 시퀀스를 수행하는 것입니다. 나는 이것이 작동하기를 기대했다. 누구든지 나를 도와 줄 수 있습니까?Collatz 시퀀스 1에서 주어진 값까지
https://ideone.com/Aerc5T 당신은 당신의 범위의 한계 (1)에서 계산 한 루프를 필요 –
을; 이러한 각 값에 대해 Collatz 시퀀스를 결정하려면 내부 (중첩 된) 루프가 필요합니다. 새 값을 시작할 때 더 잘 식별하기 위해 인쇄를 향상시켜야합니다 (순서를 완료 한 후 개행 문자를 출력하십시오). 또는 전달 된 숫자에 대해 Collatz 시퀀스를 인쇄 한 다음 주 프로그램 호출을 사용하여 1..limit 범위의 각 값에 대해 함수를 작성하는 것이 좋습니다. 숫자 앞에 쉼표를 인쇄해야합니다. 첫 번째 쉼표를 제외하고는 쉼표를 인쇄해야합니다. 어쨌든 별도로 인쇄해야합니다. –