Zdravím, dělal jsem program, který má zjistit jaký čísla jsou rovny souctu faktoriálu svých cifer (viz. Euler.net problem 34) např. číslo 145 == 1! + 4! + 5! == 1 + 24 + 120 == 145 má to najit všechny čísla, která mají tuto vlasnost, program jsem napsal, ale najde jen tu 145 tku :-)) a nejpíš takových čísel bude víc a tak se prám, proč je můj program nenajde --- přikládám zdroják....pokud najdete chybu, tak mě jen řekněte pls co je špatně zbytek vymyslim :-)...děkuji a přeji hezký večer FF
Fórum › C / C++
Nemuzu najit chybu
To Franceq : V tvém rozsahu existuje ještě jedno číslo (Pokud tedy nepočítáme 1 a 2). Tvoje chyba je v tom, že máš definován faktoriál 0 jako 0, což neni pravda :). Jinak tvůj kód je strašně neefektivní. Například ty podmínky na testování cifer. Na každé cifře se musí provést 10 otestování, i když stačí 1. (Cifra nemůže být zároveň 1 a zároveň 2). A to přiřazování do proměnné ram je taky zbytečné :)
To Franceq : Zkusil jsem v rychlosti napsat tohle http://pastebin.com/Z6Gj2TTt, můžeš to použít pro inspiraci (ale neříkám, že se to nedá udělat ještě lépe) :)
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 75 hostů
Podobná vlákna
Nemuzu najit chybu... — založil anonym
Nemůžu najít chybu v jednoduchém kódu — založil Davi Rubý
Nemůžu najít chybu - kód pro vstup — založil Garret Raziel
Nemuzu najit rozdil — založil Franceq
Nemůžu najít příkazovou řádku — založil Papi
Moderátoři diskuze