Nađi umnožak znamenki zadanog četveroznamenkastog broja

    Dali su mi 30 zadataka da riješim u Pascalu, ovdje su ljudi pametniji od mene... 1. Nađi umnožak znamenki zadanog četveroznamenkastog cijelog broja. 2. Usluge telefonska mreža plaćaju se prema sljedećem pravilu: za pozive do A minuta mjesečno plaćaju se u B rubljama, a pozivi koji prelaze utvrđenu normu plaćaju se po stopi C rubalja. u minuti. Napišite program koji mjesečno obračunava telefonsku naknadu za uneseno vrijeme razgovora. 3. Odredite i prikažite broj četvrtine u kojoj se nalazi točka M(x,y). 4. Izračunaj vrijednost funkcije: . 5. Napišite program za pronalaženje zbroja najvećeg i najmanjeg od tri broja. 6. Izračunajte vrijednost funkcije. 7. Dob osobe uvjetno ćemo podijeliti na djetinjstvo, mladost, dob odrasle osobe i dob starije osobe. Zapišite algoritam i program koji reagira na unos s tipkovnice, npr. 15 godina - „Ti si mladić“, 65 godina - „Ti si starija osoba“ itd. Sami odredite gradacije godina. 8. Prikaz poruke ovisno o unesenoj vrijednosti ocjene (po sustavu od deset bodova), npr.: 1. . 2: loše, 3. . 5: zadovoljavajuće itd., inače - netočan unos podaci. 9. Potrošnja benzina na 100 km je u prosjeku 9 litara. Napravite program za određivanje cijene benzina za udaljenosti od 200 km, 400 km, 600 km, 800 km i 1000 km, ako je cijena jedne litre x rubalja. 10. Ispišite tablicu za pretvaranje milja u kilometre za udaljenosti od 5 do 75 milja u koracima od 5 ako je 1 milja 1,609 km. 11. Izračunaj: 1*2*3 + 4*5*6 + 7*8*9 +  +43*44*45. 12. Napravite program za izračunavanje kuba zbroja svih parnih brojeva od 2 do 100. 13. Napravite program za izračunavanje vrijednosti izraza: 14. Odredite najmanji broj parnih brojeva, počevši od broja 2, čiji će zbroj premašiti broj R. 15. Izračunajte za koliko će se godina u štedionici s početnim ulogom W i postotkom godišnjeg rasta P akumulirati iznos R. 16. Odredite da su svi troznamenkasti brojevi jednaki na zbroj kubova njihovih znamenki. 17. Odredite sve dvoznamenkaste brojeve čiji je zbroj kvadrata znamenki višekratnik broja 13. 18. Odredite zbroj indeksa najvećeg i najmanjeg elementa jednodimenzionalnog niza A(10). 19. Nađite zbroj svih elemenata niza cijelih brojeva koji su manji od aritmetičke sredine elemenata niza. 20. Odredite brojeve elemenata niza cijelih brojeva A(40) koji su veći od prvog elementa niza. Ako nema takvih elemenata, prikazati poruku "pretraga nije uspjela." 21. Zadan je niz C(N,M). Izbrojite zbroj pozitivnih brojeva u svakom retku niza. 22. Dana je kvadratna matrica A(10, 10). Odredite broj retka ove matrice s minimalnim zbrojem pozitivnih elemenata. 23. Zadana je kvadratna matrica. Izračunajte zbroj elemenata čije su vrijednosti višestruke od tri i nalaze se na bočnoj dijagonali. 24. Zadana je kvadratna matrica. Pronađite najveći element među elementima koji se nalaze na glavnoj dijagonali. 25. Napišite program koji određuje koliko riječi u određenom retku završava slovom “a”, ako se zna da iza riječi mora stajati razmak ili točka. 26. Napišite program iz kojeg ćete primati dati niz novi redak zamjenom svih znakova "a" sa "b". 27. Napišite program koji provjerava je li zadana riječ palindrom (primjeri palindroma: kozak, koliba, gospođa itd.) 28. Napišite program koji broji koliko se puta slovo “F” pojavljuje među znakovima zadanog niz. 29. Napišite program za dobivanje novog retka iz zadanog niza uklanjanjem svih točaka. 30. Napravite program za konstruiranje slike. Word arhiva....sa zadacima na istu temu, postoje samo slike i formule

Općenito, stanje problema je već navedeno u naslovu, ali za svaki slučaj ću ga ponoviti.

Zadatak

Problem 6.1.2.4
Nađi umnožak znamenki zadanog četveroznamenkastog broja

Zadatak je jednostavan, ali sudeći po broju zahtjeva na internetu, ne može ga svatko riješiti sam. Savjetujem vam da ovo ipak probate. I tek onda pogledajte rješenje.

Kako pronaći umnožak znamenki broja

Budući da je po uvjetu broj četveroznamenkasti, to nam uvelike olakšava zadatak. Algoritam rješenja može biti, na primjer, ovakav:

  1. Dobijte 10. Ovo će biti krajnja desna znamenka broja.
  2. Dobijte ostatak dijeljenja sa 100 i rezultat podijelite s 10. To će biti druga znamenka broja s desna.
  3. Dobijte ostatak dijeljenja s 1000 i rezultat podijelite sa 100. To će biti treća znamenka broja s desna.
  4. Izvršite cijelo dijeljenje s 1000. To će biti prva znamenka broja slijeva.

U teoriji, također moramo provjeriti broj koji je korisnik unio (ako mu, naravno, pružimo takvu priliku).

Budući da je broj četveroznamenkast, ne može biti manji od 1000 ni veći od 9999. To je ono što moramo provjeriti prije bilo kakve akcije.

Broj može biti i negativan. Ali u uvjetima zadatka ništa se ne govori o predznaku broja. Stoga ćemo pretpostaviti da je pozitivan (u svakom slučaju, znamenke broja ne mogu biti negativne, pa čak i ako pretpostavimo da je broj negativan, to neće utjecati na rezultat, već ćemo samo morati dodati dodatni provjerite je li broj u rasponu -9999...- 1000).

Pa, sada rješenja u Pascalu i C++.

Rješavanje problema 6.1.2.4 u Pascalu program multinum; //************************************************ **************** // GLOBALNE VARIJABLE //**************************** ************************************ var Num: ; //Broj D0: riječ; //Krajnja desna znamenka broja D1: riječ; //Druga desna znamenka broja D2: riječ; //Treća znamenka s desna od broja D3: riječ; //Krajnja lijeva znamenka broja //******************************************** ********** *********************** // GLAVNI PROGRAM //************ ************************************************** ** begin("Unesite 4-znamenkasti cijeli broj: "); (Broj); //Provjerite ispravnost unosa podataka if (Num 9999) then start WriteLn("Broj mora biti u rasponu 1000...9999"); ReadLn; ; //Izlaz ako su podaci netočni end; D0:= Num mod 10; D1:= (Broj mod 100) div 10; D2:= (Broj mod 1000) div 100; D3:= (Broj div 1000); WriteLn("Znamenke broja:", D3:2, D2:2, D1:2, D0:2); Write(D3, " * ", D2, " * ", D1, " * ", D0, " = "); WriteLn(D3 * D2 * D1 * D0); WriteLn("Kraj. Pritisnite ENTER..."); ReadLn; kraj.


Rješenje problema 6.1.2.4 u C++#include #include koristeći prostor imena std; //************************************************ **************** // GLOBALNE VARIJABLE //**************************** ************************************ unsigned short int Num; //Broj bez predznaka short int D0; //Krajnja desna znamenka broja unsigned short int D1; //Druga desna znamenka broja unsigned short int D2; //Treća znamenka s desna unsigned short int D3; //Krajnja lijeva znamenka broja //******************************************** ********** *********************** // GLAVNI PROGRAM //************ ************************************************** ** int main(int argc, char * argv) ( cout > Num; //Provjerite jesu li podaci ispravno uneseni if ​​((Num 9999)) ( cout