eMatematikas.lt Registruotis Paieška

Tam tikrų skaičių radimas, kuris priklauso nuo įvesto intervalo

Informatika   Peržiūrų skaičius (170)

Sveiki, yra tokia salyga:


Parašykite programą, kuri kompiuterio ekrane (arba rezultatų faile) parodytų po vieną skaičių eilutėje natūraliųjų skaičių intervalo [n; m] skaičius, kurių paskutinis skaitmuo nelygus 3, tačiau skaičius dalijasi iš 3 be liekanos. Pasitikrinkite: kai n = 30, m = 40, tuomet ekrane turi būti rodoma: 30 36 39

Gal kas zinote kaip si programa turi atrodyt? Jau 1h galvoju ir niekaip neiseina sukurt

0

Principas paprastas:
prasuki for ciklą nurodytame intervale, o ciklo viduje atlieki tikrinimus:
a) ar skaičiaus paskutinis skaitmuo lygus 3 (tą galima padaryti naudojant dalybą iš 10 su ženklu %, rezultate gaunamas nagrinėjamo skaičiaus paskutinis skaitmuo).
b) ar skaičius dalijasi iš 3 (tą galima padaryti naudojant dalybą iš 3 su ženklu %, rezultate gaunama liekana, jei ji lygi 0, vadinasi skaičius dalus iš 3).
Tam pačiame cikle darai if tikrinimą, ar galioja abi a) ir b) sąlygos, jei taip, tai išvedi skaičių.

1

Dekui labai, bet gal zinai kaip turi atrodyti kai surasai, nes cia nauji terminai, kuriuos girdziu :)), o klaseje nieko panasaus nesprendeme

0

Dovanoju main funkcijos kodą:
int m, n;
cin >> m >> n;
for(int skaicius=m;skaicius<=n;skaicius++)
{
if(skaicius%10!=3&&skaicius%3==0) cout << skaicius << " ";
}
return 0;
Įsimesk jį pažiūrėk, ar veikia.
Aiškinu kiekvieną eilutę:
Isivedame reikalingus kintamuosius:
int m, n; Parašome komandą juos įvesti:
cin >> m >> n; for ciklu tikriname intervalą (kintamasis skaicius yra skirtas surasti mums tinkamas reikšmes išvedimui). skaicius=m reiškia, jog pradedame tikrinimą nuo reikšmės m, skaicius<=n reiškia, jog tikriname tol, kol kintamasis skaicius įgyja nedidesnę reikšmę, kaip n, skaicius++ reiškia, jog kiekvienąkart įvykdę ciklą (kodą esantį po for tarp {}) padidintume kintamojo skaicius reikšmę vienetu, t.y. tikrintume sekančią intervalo reikšmę:for(int skaicius=m;skaicius<=n;skaicius++)Cikle atliekame tikrinimą if, tikriname ar galioja sąlygos skaicius%10!=3 ir skaicius%3==0. Tai yra sąlygos a) ir b) aprašytos komentare aukščiau. Ženklu && reikalaujame, jog galiotų abi sąlygos. Jei sąlyga galioja komanda cout << skaicius << " " išvedame skaičių.if(skaicius%10!=3&&skaicius%3==0) cout << skaicius << " ";

Paskutinį kartą atnaujinta 2020-04-07

0

for (int m=m, n<=n)
    {
        if p % 10 == 3
          p % 3 == 0


neisivaizduoju kaip sprest, kiek supratau o su tuo for tai neiznau kaip irasyt, kai konkretus intervalu skaiciai nesurasyti

0

dekui labai

0

Prašom :)

Paskutinį kartą atnaujinta 2020-04-07

1

Norėdami rašyti žinutes privalote prisijungti!

Kategorijos

Matematikos testai www.ematematikas.lt/testai Matematikos testai įvairių klasių moksleiviams! Spręsti testus »