mysterious (+20)
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 :)))