Natūralusis skaičius x laikomas laimingu, kai jį sudaro lyginis skaitmenų skaičius 2k ir kurio pirmųjų k skaitmenų suma yra lygi paskutiniųjų k skaitmenų sumai. Parenkite programą, surandančią visus intervalo [m; n] laimingus skaičius.
Reikalavimai Būtinos funkcijos, grąžinančios apskaičiuotą reikšmę per funkcijos vardą:
1) skaitmenų kiekio skaičiavimo funkcija;
2) skaitmenų sumos skaičiavimo funkcija.
Programoje gali būti ir daugiau funkcijų, grąžinančių apskaičiuotą reikšmę per funkcijos vardą.
Pradiniai duomenys: 1000 1100 Rezultatas: 1001 ir 1010
Pradiniai duomenys: 100 1000 Rezultatas: Nebus nė vieno laimingo skaičiaus
almostlow +3116
Nei vienoje temoje nėra pateiktas tavo kodas. Keista ar ne?...
Šiaurė +335
Atsiprašau, kad trukdau Jus. Bet tikrai nekelčiau jei mokėčiau.
Šiaurė +335
O taip tai aš savarankiškai mokausi, niekas nepadeda (išskyrus Jus) ir dėl to labai sunku.
almostlow +3116
Turėjau omeny, kad jei mokaisi programavimo kodą vistiek rašai ir jį galėtum įkelti kad aiškintis kas blogai. Jei pati/pats neprogramuosi kad čia gausi gatava kodą jokios naudos iš to nebus.
Šiaurė +335
Aišku, ačiū už patarimą :)
almostlow +3116
// Example program #include <iostream>
int skaitmenuKiekis(int skaicius) { int suma = 0; while (skaicius > 0) { suma++; skaicius /= 10; } return suma; } bool skaitmenuSuma(int skaicius, int kiekis) { int suma1 = 0, suma2 = 0, i, temp; for (i = 0; i < kiekis; i++) { if (i < kiekis/2) { temp = skaicius % 10; suma1 += temp; skaicius /= 10; } else { temp = skaicius % 10; suma2 += temp; skaicius /= 10; } } if (suma1 == suma2) { return true; } else { return false; } } int main() { int m = 1000, n = 2000, i; int kiekis; bool lygi_suma = false; if (m > 0 && n > 0) { for (i = m; i < n; i++) { kiekis = skaitmenuKiekis(i); if (kiekis % 2 == 0) { lygi_suma = skaitmenuSuma(i, kiekis); } if (lygi_suma) { std::cout << i << std::endl; } } } }
pakeista prieš 7 m
Šiaurė +335
Ačiū už atsakymą. Deja pajėgiau pati parašyti tik skaitmenų skaičiavimo funkciją.
Šiaurė +335
Čia ,almostlow, kad įrodyčiau, kad stengiuosi ir mokausi :) [code]