Ich wurde gebeten, eine leere Funktion in c (keine Schleifen) zu schreiben, die eine gerade Zahl erhält (etwa 80), und druckt es so 2 * 2 * 5 * 2 * 2 Wie Sie sehen können, ist das Ergebnis 80 lol. Zwischen 2 Zahlen müssen Sie "*" und die ungerade Zahl (für mein Beispiel 5) müssen Sie in der Mitte drucken, oder wenn es eine ungerade Anzahl von "2" in der Zahl gibt, sagen wir 96 Sie müssen es so drucken: 2 * 2 * 2 * 3 * 2 * 2 Wenn die angegebene Zahl ungerade ist, geben Sie die Zahl zurück. Ich möchte nicht nur die Antwort bekommen, sondern die Art, wie Sie "denken", bevor Sie mit dem Code beginnen. Hier ist das, was ich habe bisherFaktorisierung in C-Rekursion
if(n%4==0)
{
printf("2*");
PrintTwos(n/4);
return;
}
if(n%2==0)
{
printf("*2");
PrintTwos(n/2);
return;
}
printf("%d",n);
Wie würden Sie das tun (mit Stift und Papier)? Was versuchst du bisher zu programmieren? – purplepsycho
Code anzeigen! – vz0
vor allem über eine Stoppbedingung nachdenken. Sagen wir, wenn die Zahl ungerade ist. Aber mein Hauptproblem ist zu verstehen, wie ich meine Nummer so drucken kann, dass mein seltsamer Faktor (5, tut mir leid, wenn das nicht das richtige Wort dafür ist) in der Mitte erscheint und nicht in der Ende – user6788452