Я пытаюсь создать программу, которая выводит в текстовый файл результаты гипотезы Коллатца . Однако, когда я пытаюсь сделать это с большими числами, такими как 1 000 000, он не работает должным образом и всегда останавливается на 113383.
Вот код:
int n, count, number, mayor, masvueltas, top;
char c = '@';
freopen("output MILLION.txt", "w", stdout);
count = 0;
number = 1;
mayor = 0;
masvueltas = 0;
while(number != 1000000) {
printf("\n%d did ", number);//this will say that number did COUNT loops
n = number;
while (n != 1) {
if (n % 2 == 0) {
n = n / 2;
count++;
}
else {
n = 3 * n + 1;
count++;
}
}
printf(" %d saltos.\n", count);//Here continoues the sentence
char graf[count];//creates an array to print the @ character COUNT times
for (int i = 0; i < count; i++) {
graf[i] = c;
printf("%c", graf[i]);
}
if(masvueltas < count) {
masvueltas = count;
mayor = number;
}
number++;
count = 0;
}
Также, если вы знаете, какраспечатать ASCII-символ 219, block, было бы здорово. Это не важно, поэтому у меня есть более чистый текстовый файл.