Algoritmus pro zjištění všech dělitelů čísla v C. Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
cosmosD
Level 3
Level 3
Příspěvky: 437
Registrován: únor 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Algoritmus pro zjištění všech dělitelů čísla v C.  Vyřešeno

Příspěvekod cosmosD » 29 říj 2011 23:04

Čau, má někdo nápad jak to provést? Řeším jednu úlohu a prostě už mi mozek nefrčí dostatečně výkonně abych na to přišel :D.
Chtěl bych to zvládnout bez použití pole, je to možné? Kdyby ne, tak klidně i s polem. Budu rád za jakoukoli radu.

Reklama
Uživatelský avatar
Myloš
Master Level 8.5
Master Level 8.5
Příspěvky: 6990
Registrován: duben 06
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: Algoritmus pro zjištění všech dělitelů čísla v C.

Příspěvekod Myloš » 29 říj 2011 23:16

Je-li to int, tak cyklem testovat na zbytek po celočíselném dělení. Pokud je to nula, číslo je dělitel, a ten uložit do proměnné jako textový řetězec, ke kterému se pak budou přičítat další znaky.
  • Než položíte dotaz, nejprve se ptejte strejdy Gůůgla.
  • Výňatek z pravidel fóra PC-HELP:
    • Název tématu zvolte takový, aby co nejvýstižněji charakterizoval obsah tématu.
    • Nesnažte se řešit jiný problém (i když podobný) v jednom tématu. Raději založte nové téma.
  • Mýliti se je Myloš. ;-)

Uživatelský avatar
cosmosD
Level 3
Level 3
Příspěvky: 437
Registrován: únor 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: Algoritmus pro zjištění všech dělitelů čísla v C.

Příspěvekod cosmosD » 29 říj 2011 23:33

Takto jsem taky postupoval, jen bude asi háček v tom řetězci.

Kód: Vybrat vše

int main()
{   int res, i,n=20;
    for (i=1; i<20;i++ )
    {
        if (n%i == 0)
        {
            res=i;
        }
    }

    return 0;
}



Takhle jsme to zkoušel a když to vytisknu tak dostanu 1, 2, 4, 5, 10. A když chci součet těchto dělitelů, tak jak mám postupovat?

Uživatelský avatar
Argoneus
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: prosinec 07
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Algoritmus pro zjištění všech dělitelů čísla v C.

Příspěvekod Argoneus » 29 říj 2011 23:54

Nejsem odbornik na C, ale imho neco takovyhleho

Kód: Vybrat vše

int main()
{   int res,i,souc=0,n=20;
    for (i=1; i<=n;i++ )
    {
        if (n%i == 0)
        {
            res=i;
            printf(res);
            souc=souc+n;
        }
    }
    printf(souc);
}
CPU: AMD Athlon 64 X2 5000+ EE @ 2,6 Ghz GPU: Sapphire HD 3850 512MB, PCI-E
Zákl. deska: Gigabyte GA-M52L-S3 - nForce 520 RAM: A-DATA 2x1GB DDR2 PC800 Extreme Edition
HDD: Samsung Spin Point F1 HD322HJ 320GB Zdroj: Seasonic SS-500ET-T3 500W
Case: THERMALTAKE VG1000BNS Wing RS100 Black

Uživatelský avatar
cosmosD
Level 3
Level 3
Příspěvky: 437
Registrován: únor 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: Algoritmus pro zjištění všech dělitelů čísla v C.

Příspěvekod cosmosD » 30 říj 2011 00:07

Trochu jsem to poupravil a funguje to. :)

Kód: Vybrat vše

int main()
{   int res,i,souc=0,n=20;
    for (i=1; i<=n;i++ )
    {
        if (n%i == 0)
        {
            res=i;
            printf("%d\n",res);
            souc+=i;
        }
    }
    printf("%d\n",souc);
}


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Jak odstranit zelená čísla ve wordu Příloha(y)
    od symetrala » 14 zář 2024 13:54 » v Kancelářské balíky
    3
    3347
    od elninoslov Zobrazit poslední příspěvek
    15 zář 2024 09:27
  • Pády všech her Příloha(y)
    od echo-cz » 21 říj 2024 22:01 » v Hry
    22
    5825
    od echo-cz Zobrazit poslední příspěvek
    23 říj 2024 00:12
  • Co jako první udělat přenos tel čísla nebo aktivaci sim
    od p3v4x » 04 říj 2024 15:26 » v Mobily, tablety a jiná přenosná zařízení
    1
    3185
    od Zivan Zobrazit poslední příspěvek
    04 říj 2024 15:55

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host