Sie müssen einen C-Code eingeben, der den Benutzer auffordert, eine Nummer einzugeben, und der Code überprüft, ob die Nummer eine "Cullen-Nummer" ist oder nicht.C-Code zum Suchen nach "Cullens Nummer"
Eine Zahl ist Cullens Nummer, solange Sie sie berechnen können, indem Sie "2^n * n + 1" ausführen.
Beispiele für Zahlen Cullens:
3=2^1 * 1 + 1
9=2^2 * 2 + 1
25=2^3 * 3 + 1
der Code Hier ist das ich arbeiten, jede mögliche Hilfe?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int num, brojP, potency = 0, numRepeats = 0, endResult=0, isCullen;
printf("Unesite broj");
scanf("%d", &num);
do
{
potency = potency + 1; // initializing "potency" and at the same time making it one number larger at each repeat of the loop
do
{
brojP = 2*potency;
numRepeats = numRepeats + 1;
} while (numRepeats < potency); // this entire loop is used for "2^n" part
endResult = brojP * potency + 1; // calculate the "2^n * n + 1"
numRepeats = 0;
if (endResult == num)
{
isCullen = 1;
break;
}
} while (endResult < num);
if (isCullen == 1)
printf("Number inputted is Cullen's number\n");
else
printf("Number inputted isn't Cullen't number\n");
return 0;
}
Sie haben ein * undefiniertes Verhalten *, da Variablen nicht initialisiert werden können. Nicht initialisierte lokale Variablen haben einen * unbestimmten * Wert. –
Ihre Schleife, die '2^n' berechnen soll, funktioniert nicht. Es setzt 'brojP' für jedes Mal durch die Schleife, also ist es genau so, als würde man 'brojP = 2 * potenzieren; – Barmar