現在、私はCollatz推測の問題をC言語で実装しています。私は特定の数字のシリーズを印刷することができます。たとえば、数字が25
なら、シリーズは25 76 38 19 58 29 88 44 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 = 24
のようなものです。 24
は、一連の要素の数です。今私は1
までシリーズの数を印刷したいと思います。 25,24,...
〜1
のようになります。C言語のCollatz推測プログラムの数値を減らす方法
#include <stdio.h>
int main() {
long x, a = 0;
printf("Enter the value of X:");
scanf("%lu", &x);
printf("%ld ", x);
for (i = x * x; i >= 1; i--) {
if (x % 2 == 0) {
x = x/2;
printf("%lu ", x);
if (x == 1) {
break;
}
} else {
x = (3 * x) + 1;
printf("%lu ", x);
if (x == 1) {
break;
}
}
a++;
}
printf(" = %lu\n", a + 2);
return 0;
}
をこの問題で私を助けてください:ここでは
は、私がしようとしているものです。
デバッガツールボックスで非常に重要なツールです。デバッガを使用すると、変数とその値を監視しながら、コードを1行ずつ進めることができます。デバッガを使用できることは、パートタイムの愛好家としても、プログラムしたい人にとって必要不可欠なスキルです。 –
また、[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)に時間を割いてください。あなたは、あなたがプログラムに与えたインプット、その実際のアウトプット、そしてあなたが期待したアウトプットを教えてください。 –
ネストループが必要です(2ループ) – BLUEPIXY