eMatematikas Prisijunk Forumas Užduotys Testai Pradžia

While ciklas. Jonukas ir Petriukas riešutavo.


Stai turim tokia uzduoti:
Jonukas ir Petriukas riešutavo. Surinkus n riešutų jie nutarė pasidalyti taip : Jonukas paims vieną riešutą, Petriukas - 2, Jonukas - 3, Petriukas - 4 ir t.t., kol riešutų bus. Paskutinis paims likusius riešutus. Sudarykite programą, apskaičiuojančią, po kiek riešutų gaus kiekvienas vaikas.

Suku cikla while kol n>=0,ciklo viduje pridedu prie kiek po viena ir kaskart atimu is n,skaiciuoju atskirai petro ir jono surinktus riesutus, bet man prideda dar ir tuos skaicius, kuriu prided neturetu.Gal kas galetumet parodyt savo sprendima arba bent paaiskinimo.
Aciu.

    int n,petro=0,jono=0,kiek=0;
    cin>>n;

    while(petro+jono<=n)
    {
        petro+=kiek++;
        jono+=kiek++;
    }

pakeista prieš 11 m

Tai iš esmės čia gaunasi paprastas ciklas: while(n>0). Pasidarai kintamaji kuris fiksuotu kiek grybu paema vaikas, atemi ta kieki is grybu skaiciaus, ir kiekio kintamaji kekviena karta padidini vienetu. Taip pat reikia nepamirsti kekviena karta tikrinti rezius: ar imamas grybu kiekis nevirsija esamo grybu kiekio. Jeigu virsija: likusius grybus pridedi prie sekancio vaiko ir nutrauki cikla.

almostlowTai iš esmės čia gaunasi paprastas ciklas: while(n>0). Pasidarai kintamaji kuris fiksuotu kiek grybu paema vaikas, atemi ta kieki is grybu skaiciaus, ir kiekio kintamaji kekviena karta padidini vienetu. Taip pat reikia nepamirsti kekviena karta tikrinti rezius: ar imamas grybu kiekis nevirsija esamo grybu kiekio. Jeigu virsija: likusius grybus pridedi prie sekancio vaiko ir nutrauki cikla.

kazkas tokio turbut:

while(n>0)
    {
        if(kiek<=n)
        {
            n=n-kiek;
            jono+=kiek;
            kiek++;
        }
        else
        {
            jono+=n;
            break;
        }
        if(kiek<=n)
        {
            n=n-kiek;
            petro+=kiek;
            kiek++;
        }
        else
        {
            petro+=n;
            break;
        }

    }

Nu tai jei gerai skaiciuoja tai tvarkoj. Manau jei ir yra cia klaidu tai labai minimaliu. Esme gera.

pakeista prieš 11 m

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »