ematematikas Registruotis Ieškoti

For ciklas, norint atrinkti skaičius iš intervalo

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

Sveiki, susiduriau su problema sprendziant uzdavini, kurio salyga skaamba taip:

Elektroninės parduotuvės trečiojo gimtadienio proga buvo organizuota loterija, kurioje
bilietų numeriai buvo trizenkliai skaičiai iš intervalo [s1; s2]. Laimingi bus bilietai, kurie be
liekanos dalijasi iš trijų ir kurių bent vienas skaitmuo taip pat dalijasi iš trijų be liekanos
(skaitmenys negali būti lygūs nuliui). Parašykite programą šiam uzdaviniui spręsti. Bilietų
numeriai turi būti rodomi ekrane arba rezultatų faile . Pvz: Kai s1=222, s2=245 , tai ats - 231, 234, 237, 243

Cia mano bandymas:

#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;
const char SF [] = "Duomenys.txt";
const char RF [] = "Atsakymai.txt";
int main()
{ int s1, s2, i1, i2, i3;
ifstream sf (SF);
sf >> s1 >> s2;
ofstream rf (RF);

for (int i = s1; i<=s2; i++)
{
i1 = i % 10;
i2 = i /10 % 10;
i3 = i/ 100 %10;

if (i%3==0 && i1%3==0 && i2%3 ==0 && i3%3 ==0)
rf << " " << i << endl;

}

return 0;
}


Zinau kad if salyga bloga tik niekaip nesugalvoju kaip teisingiau uzrasyt. Buciau dekingas jei pakelbetumet :)))

0

Pabandyk rasyt ne i viena if o i kelis

0

Jau pavyko issprest, tereikejo pakeist zenklUS if cikle

0

Norėdami rašyti žinutes privalote prisijungti!