Dobrý den,
dostal sem následující úkol:
Sestavit program v C, který nalezne všechna 8 místná čísla C (v rozsahu 10000000 až 99999999),
pro něž platí, že z číslic použitých k jejich zápisu lze složit dvě 4 místná čísla A a B a platí C = A*B.
Na obrazovku vypište počet různých nalezených čísel a do souboru vysledek.txt uložte vzestupně
nalezená čísla,na každý řádek jedno, případně četnost i činitelé, ze kterých se skládá.
Například číslo 10526400 se započte jenom jednou a rovněž ve výsledném souboru bude uloženo jen
jednou, přestože je více možností, jak z jeho cifer složit 4 místná čísla vyhovujících podmínkám
v zadání:
10526400 = 2040*5160 = 2064*5100.
Tak bych potřeboval radu od někoho, kdo se v tom trochu vyzná. Pro mě není problém ty čísla najít. Mě napadá akorát ty čísla vynásobit a zjistit jestli obsahují stejná čísla, takže 1000*1001,1000*1002....1002*1003,1002*1004 až 9999*9999. Problém je v tom, že jen to vynásobení těch čísel zabralo přibližně hodinu času, což předpokládám, že by to mělo jít udělat nějak efektivněji, ale bohužel mě nic nenapadá. Chtěl sem se tedy zeptat máte někdo jiný nápad, jak tohle provést?
Děkuji za odpověď
Příspěvky odeslané z IP adresy 147.230.158.–
Filip Procházka
Anonymní uživatel
To KIIV : Tak už to funguje, ikdyž bych si byl jistý, že sem tam žádnou mezeru předtím neměl. Ale samozřejmě moc děkuji za pomoc.
Anonymní uživatel
To KIIV : Možná sem se blbě vyjádřil....proměnné figurka a pozicey jsou datového typu char.
Prostě aby to udělalo tohle:
Např. zadané hodnoty na klávesnici:
sa7 -> figurka="s"; pozicey="a"; pozicex=7;
vd3 -> figurka="v"; pozicey="d"; pozicex=3; atd....