Kako postaviti pametne telefone i računala. Informativni portal

Ugniježđene petlje u Javi. Beskonačna for (Java) petlja

Posljednje ažuriranje: 31.10.2018

Petlje su još jedna vrsta kontrolne strukture. Petlje omogućuju, ovisno o određenim uvjetima, izvođenje određene radnje više puta. Jezik Java ima sljedeće vrste petlji:

Za petlju

Petlja for ima sljedeću formalnu definiciju:

Za ([inicijalizacija brojača]; [uvjet]; [promjena brojača]) (// radnje)

Razmotrimo standard za petlju:

Za (int i = 1; i< 9; i++){ System.out.printf("Квадрат числа %d равен %d \n", i, i * i); }

Prvi dio deklaracije petlje - int i = 1 kreira i inicijalizira brojač i. Brojač ne mora biti tipa int. Može biti bilo koja druga numerička vrsta, na primjer, float. Prije nego što se petlja izvrši, brojač će biti 1. U ovom slučaju, ovo je isto kao deklariranje varijable.

Drugi dio je uvjet pod kojim će se petlja izvršiti. U ovom slučaju, petlja će se izvoditi dok i ne dođe do 9.

A treći dio je povećanje brojača za jedan. Opet, ne trebamo povećavati za jedan. Može se smanjiti: i--.

Kao rezultat toga, blok petlje će se pokrenuti 8 puta dok vrijednost i ne postane jednaka 9. I svaki put će se ova vrijednost povećati za 1.

Prilikom deklariranja petlje ne moramo specificirati sve uvjete. Na primjer, možemo napisati ovako:

Int i = 1; za (;;) (System.out.printf ("Kvadrat% d je% d \ n", i, i * i);)

Definicija petlje ostaje ista, samo su sada blokovi u definiciji prazni: for (;;). Sada nema inicijalizirane varijable brojača, nema uvjeta, tako da će petlja trajati zauvijek - beskonačna petlja.

Alternativno, možete izostaviti nekoliko blokova:

Int i = 1; za (; i<9;){ System.out.printf("Квадрат числа %d равен %d \n", i, i * i); i++; }

Ovaj primjer je ekvivalentan prvom primjeru: također imamo brojač, samo što je kreiran izvan petlje. Imamo uvjet za izvođenje petlje. I tu je povećanje brojača već u samom bloku for.

Petlja for može definirati i manipulirati s nekoliko varijabli odjednom:

Int n = 10; za (int i = 0, j = n - 1; i< j; i++, j--){ System.out.println(i * j); }

Napravite petlju

Petlja do najprije izvršava kod petlje, a zatim provjerava uvjet u naredbi while. I sve dok je ovaj uvjet istinit, ciklus se ponavlja. Na primjer:

Int j = 7; učiniti (System.out.println (j); j--;) while (j> 0);

U ovom slučaju, kod petlje će se pokrenuti 7 puta dok j ne bude jednak nuli. Važno je napomenuti da do petlja jamči barem jedno izvršenje akcije, čak i ako uvjet u naredbi while nije istinit. Dakle, možemo napisati:

Int j = -1; učiniti (System.out.println (j); j--;) while (j> 0);

Iako je j u početku manji od 0, petlja će se i dalje izvršiti jednom.

Dok petlja

Dok petlja odmah provjerava istinitost nekog uvjeta, a ako je uvjet istinit, tada se izvršava kod petlje:

Int j = 6; dok (j> 0) (System.out.println (j); j--;)

Izjave nastavljanja i prekida

Naredba break vam omogućuje da izađete iz petlje u bilo kojem trenutku, čak i ako petlja nije završila svoj rad:

Na primjer:

< nums.length; i++){ if (nums[i] >10) prekid; System.out.println (brojevi [i]); )

Budući da petlja provjerava je li element niza veći od 10, nećemo vidjeti posljednja dva elementa na konzoli, jer kada je nums [i] veći od 10 (tj. jednak 12), naredba break će se pokrenuti i petlja će završiti.

Istina, također nećemo vidjeti zadnji element, koji je manji od 10. Sada ćemo napraviti tako da ako je broj veći od 10, ciklus ne završava, već jednostavno prelazi na sljedeći element. Da biste to učinili, koristite operator nastavak:

Int brojevi = novi int (1, 2, 3, 4, 12, 9); za (int i = 0; i< nums.length; i++){ if (nums[i] >10) nastaviti; System.out.println (brojevi [i]); )

U ovom slučaju, kada izvođenje petlje dosegne broj 12, koji ne zadovoljava testni uvjet, program će jednostavno preskočiti ovaj broj i prijeći na sljedeći element niza.

Kao i kod gotovo svakog programskog jezika, Java ima alate za ponavljanje određenog dijela koda iznova i iznova. Takvi se alati obično nazivaju ciklusima. U Javi su petlje predstavljene izjavama kao što su while i for, te njihovim varijantama. Petlje se u pravilu koriste za hodanje kroz jednodimenzionalne i višedimenzionalne nizove i strukture podataka kako bi se pronašli određeni elementi i dalje manipulirali njima. Ali ovo je daleko od jedinog načina za korištenje alata kao što je Java Loop. Primjeri korištenja bit će navedeni dok ih budete prolazili.

Java while petlja: opis i primjeri

Dok je temeljni operator petlje u Javi. Isječak koda zatvoren u svom tijelu će se ponavljati sve dok uvjet izraza zatvorenog u zagrade nakon što zadovolji pravu vrijednost. Naredba while ima sljedeći opći oblik: while (uvjet) (// tijelo petlje). Čim vrijednost booleovog uvjeta prestane biti istinita, kod zatvoren u tijelu petlje prestat će se izvršavati. Kontrola će se prenijeti na liniju odmah nakon nje. Ako postoji samo jedan operator u tijelu petlje, možete izostaviti vitičaste zagrade. Međutim, među programerima se smatra dobrom formom da ih uvijek oblače. Uzmimo primjer:

Javna klasa dokDemo (

System.out.println (“Ispis brojeva od 1 do 10”);

dok (broj<=10) {

System.out.println (broj);

Inicijalno deklarirana varijabla count ima vrijednost 1. Zatim vidimo booleov izraz, koji je zatvoren u zagradama iza imena operatora. Ako je vrijednost istinita, tada će petlja vratiti true sve dok vrijednost broja varijable ne bude jednaka ili manja od 10. Sa svakim prolazom ili iteracijom, vrijednost varijable će se povećati za 1 i prikazati na zaslonu konzole. Kada je varijabla dosegnula 11, petlja je završila. Ako je broj u početku bio 11, tada bi uvjet petlje bio lažan. Program ne bi ni ušao u tijelo. Treba napomenuti da Java sintaksa omogućuje korištenje naredbe While bez tijela. Razmotrimo sljedeći primjer. Recimo da imate dvije varijable, i = 100 i j = 200. Suočeni smo sa zadatkom programskog izračunavanja njihove aritmetičke sredine; u tu svrhu možete koristiti "šuplju" while petlju:

Dok (++ i<- — j);

Kao rezultat ove operacije, vrijednost bilo koje od ove dvije varijable bit će jednaka prosjeku njihovih početnih vrijednosti. Kao što možete vidjeti u ovom primjeru, petlja je dobro radila bez tijela i izvela je sve potrebne radnje u uvjetnom izrazu.

Do-while petlja

U prethodnim primjerima, ako je izraz uvjeta vratio lažno, tada je program ignorirao tijelo petlje i nastavio dalje izvršavanje. Ali ponekad se javljaju situacije kada je izvršenje koda sadržanog u tijelu petlje obavezno barem jednom, bez obzira na istinitost izraza uvjeta. Drugim riječima, ponekad se dogodi da je potrebno provjeriti istinitost uvjetnog izraza na početku, a ne na kraju petlje. Varijacija while petlje, konvencionalno nazvana do-while, može pružiti ovu funkcionalnost. Ima sljedeći oblik: do (// tijelo petlje) while (uvjet). Kao što vidite, ovdje se prvo izvršava tijelo petlje, a zatim se provjerava istinitost uvjeta. To se radi pri svakoj iteraciji. Gornji kod će raditi na isti način kao i s while. Ali da smo varijabli count dodijelili vrijednost 11, tijelo petlje bi se i dalje izvršilo jednom prije nego što bi operator mogao testirati da je izraz istinit.

Primjeri i opis: for - Java petlja

Petlja for je svestran i učinkovit oblik jezika u jeziku Java. Do pete verzije JavaSDK-a postojao je samo jedan tradicionalni oblik for izjave. Nakon njega pojavio se novi - foreach. Ovaj dio će se usredotočiti na tradicionalni oblik operatora. Petlja for u Javi izgleda ovako:

za (inti = 0; i<10; i++) {//Loop statements to be executed

Prije nego se kontrola prenese na kod na kraju petlje, varijabla i se inicijalizira da djeluje kao brojač. Zatim morate provjeriti uvjetni izraz u kojem je brojač uspoređen s određenom vrijednošću. Ako program vrati true, izvršava se tijelo petlje. U ovom slučaju, vrijednost brojača se mijenja unaprijed određenim korakom i uvjetni izraz se ponovno provjerava. To se događa sve dok uvjet ne postane lažan. Za bolje razumijevanje, evo primjera kako radi Java for petlja.

javna klasa ForLoops (

javni statički void main (String args) (

namjeravana_vrijednost = 11;

za [j] = (i + l) * (j + l); // koristiti for-each petlju za prikaz
// i zbrojimo vrijednosti
za (int x: brojevi) (
za (int y: x) (
System.out.println ("Vrijednost je:" + y);
zbroj + = y;
}
}
System.out.println ("Iznos:" + zbroj);
}

Ovaj program generira sljedeći izlaz:

Vrijednost je: 1
Vrijednost je: 2
Vrijednost je: 3
Vrijednost je: 4
Vrijednost je: 5
Vrijednost je: 2
Vrijednost je: 4
Vrijednost je: 6
Vrijednost je: 8
Vrijednost je: 10
Vrijednost je: 3
Vrijednost je: 6
Vrijednost je: 9
Vrijednost je: 12
Vrijednost je: 15
Iznos: 9 0

Sljedeća linija ovog programa zaslužuje posebnu pozornost:

za (int x: brojevi) (

Obratite pažnju na to kako je varijabla x deklarirana. Ova varijabla je referenca na jednodimenzionalni niz cjelobrojnih vrijednosti. To je zato što je rezultat svake iteracije for petlje sljedeći niz u nizu nums, počevši od niza na koji ukazuje element nums. Unutarnja for petlja zatim ponavlja svaki od ovih nizova, prikazujući vrijednosti svakog od elemenata.

Korištenje petlje Advanced for

Budući da svaki "for-each" for izraz može samo petlju kroz elemente niza uzastopno od prvog do posljednjeg, može se činiti da je od ograničene upotrebe. Međutim, nije. Mnogi algoritmi zahtijevaju korištenje ovog mehanizma. Jedan od najčešće korištenih algoritama je pretraživanje. Na primjer, sljedeći program koristi for petlju da pronađe vrijednost u neuređenom nizu. Pretraživanje se zaustavlja kada se pronađe željena vrijednost.

// Pretražujte niz koristeći for-each stil za petlju.
Pretraživanje razreda (
javni statički void main (String args) (
int brojevi = (6, 8, 3, 7, 5, 6, 1, 4);
int val = 5;
boolean found = lažno;
// koristeći for-each petlju
za (int x: brojevi) (
ako (x == val) (
pronađeno = istina;
pauza;
}
}
ako (pronađeno)
System.out.println ("Pronađena vrijednost!");)

U ovom slučaju, odabir stila "za svaki" za petlju for je potpuno opravdan, budući da pretraživanje u neuređenom nizu uključuje uzastopno gledanje kroz svaki od elemenata. (Naravno, da je niz naručen, moglo bi se koristiti binarno pretraživanje, što bi zahtijevalo drugačiji stil petlje.) Druge vrste aplikacija koje imaju koristi od korištenja for-each petlje uključuju usrednjavanje, pronalaženje minimalne ili maksimalne vrijednosti u skupu, pronalaženje duplikati itd.



Trebate li obraditi puno podataka iste vrste? Trebate izračunati niz? Trebate množiti matrice? Sve ovo i još mnogo više pomoći će u izradi ciklusa! 🙂 Svi računalni sustavi izvorno su zamišljeni da olakšaju obradu podataka. A obradu velike količine podataka nemoguće je ni zamisliti bez petlji.

Općenito, ciklusi programiranja se obično dijele u tri skupine. Prva grupa su kontra petlje. U njima se tijelo petlje izvršava nekoliko puta, što je inicijalno postavljeno od strane programera. Takav ciklus će se nužno izvršiti određeni broj puta. Druga skupina su petlje s preduvjetom. U njima se tijelo petlje izvršava tek nakon provjere nekog uvjeta i izvršavat će se sve dok je ovaj uvjet istinit. Takve petlje ne smiju se izvršiti niti jednom (ako je uvjet u početku netočan). I treća skupina petlji su petlje s postuvjetom. Prvo izvode tijelo petlje, a zatim provjeravaju uvjet. Ovaj ciklus će se pokrenuti barem jednom.

Počnimo s petljom s brojačem. U Javi, ovo je for petlja; Općenito, može se napisati na sljedeći način:

For (početni uvjet; krajnji uvjet; promjena) (tijelo petlje;)

Dakle, ako želimo izvršiti neku radnju 10 puta, onda moramo napisati sljedeće:

Za (int i = 0; i<10; i++) { System.out.println(i); }

takav program će uzastopno prikazivati ​​brojeve od nula do devet. Malo detaljnije, jednostavno kreiramo novu varijablu i i dodijelimo joj početnu vrijednost 0 (int i = 0;). Zatim označavamo da se petlja treba izvoditi sve dok i< 10 и указываем каким образом должно изменяться i после каждой итерации цикла (i++).

Oni koji su programirali na Pascalu cijenit će ovu priliku:

Int k = 15; za (float i = 0; i

U ovom primjeru, vrijednost varijable i povećavat će se za 1,5 sa svakom iteracijom. Mozes provjeriti:).

Sljedeći ciklus je sljedeći - dok... Ovo je petlja s preduvjetom, a općenito se može napisati ovako:

Dok (boolean) (radnje)

Pa, ako uzmete radni primjer, izgledat će otprilike ovako:

Dok (a<10) { System.Out.Print(a); a++; }

Dakle, jasno je da ima smisla koristiti ovaj ciklus ako ne znate točno koliko je iteracija potrebno za postizanje cilja, ali točno znate pod kojim uvjetom će se vaš cilj postići. Takva konstrukcija se ne smije izvesti niti jednom (na kraju krajeva, ovo je petlja s preduvjetom)! Koliko puta će se akcije izvršiti u petlji ovisi o vrijednosti koja je izvorno bila u varijabli a.

I treća vrsta petlji su petlje s postuvjetom. Mnogo liči na dok ... učiniti samo ako je u dok ... učiniti uvjet se provjerava prije izvršenja tijela petlje, zatim se uvjet provjerava nakon što se izvrši tijelo petlje. To znači da će se petlja izvršiti barem jednom prije provjere uvjeta.

Petlja je dio programa koji se ponavlja.

Postoje dvije vrste petlji u Javi: tip "bye" i tip "n-times".

Prvi tip "while" namijenjen je ponavljanju neke radnje sve dok je ispunjen određeni uvjet. Primjer: povećavajte broj za 5 dok ne postane troznamenkasti.

Drugi tip "n-puta" namijenjen je ponavljanju nekih radnji unaprijed određeni broj puta. Primjer: pomnožite broj sam po sebi 4 puta.

Petlja tipa "bye" (while i do ... while izjave)

Naredba while ponavlja navedene korake sve dok je njegov parametar istinit.

Na primjer, takav ciklus će se izvršiti 4 puta, a na ekranu će se prikazati "1 2 3 4":

Int i = 1; dok ja< 5) { System.out.print(i + " "); i++; }

Takav ciklus se nikada neće izvršiti i ništa se neće prikazati na ekranu:

Int i = 1; dok ja< 0) { System.out.print(i + " "); i++; }

Takav ciklus će trajati beskonačno, a na ekranu će se prikazati "1 2 3 4 5 6 7 ...":

Int i = 1; dok (true) (System.out.print (i + ""); i ++;)

Uvjet koji određuje hoće li se ciklus ponoviti provjerava se prije svakog koraka ciklusa, uključujući i prvi. Kažu što se događa unaprijed provjeriti Uvjeti.

Postoji ciklus poput "pa" sa nakon provjere Uvjeti. Za njegovo pisanje koristi se konstrukcija do... while.

Ovaj ciklus će se izvršiti 4 puta, a na ekranu će se prikazati "2 3 4 5":

< 5);

Ovaj ciklus će se izvršiti 1 put, a na ekranu će se prikazati "2":

Int i = 1; učiniti (i ++; System.out.print (i + "");) dok (i< 0);

Tijelo do... while petlje se izvršava barem jednom. Ovaj operator je prikladan za korištenje kada se neka radnja u programu mora izvesti barem jednom, ali pod nekim uvjetima morat ćete je ponoviti mnogo puta.

Pogledajte sljedeći program (pogađa nasumični cijeli broj iz segmenta i traži od korisnika da ga pogodi unosom opcija s tipkovnice, dok korisnik ne pogodi broj, program će ga pitati, govoreći mu manje-više pogodi broj od onaj koji je unio korisnik):

Uvoz java.util.Scanner; javna klasa Main (javni statički void main (String args) (// prog je broj koji je kreirao program // user je broj koji je unio korisnik int prog, user; // Generiraj nasumični cijeli broj od 1 do 10 prog = (int) (Math. random () * 10) + 1; System.out.println ("Pomislio sam na broj od 1 do 10, pogodi."); System.out.print ("Unesite svoj broj:" ); Ulaz skenera = novi skener ( System.in); // Provjerite postoji li cijeli broj u ulaznom toku if (input.hasNextInt ()) (učinite (// Pročitaj cijeli broj iz ulaznog toka user = input.nextInt (); if (user == prog) (System.out.println ("Pogodili ste!");) Else (// Provjerite je li broj uključen u segment if (korisnik> 0 && korisnik<= 10) { System.out.print("Вы не угадали! "); // Если число загаданное программой меньше... if(prog < user) { System.out.println("Моё число меньше."); } else { System.out.println("Моё число больше."); } } else { System.out.println("Ваше число вообще не из нужного отрезка!"); } } } while(user != prog); } else { System.out.println("Ошибка. Вы не ввели целое число!"); } System.out.println("До свиданья!"); } }

Napravite sljedeća poboljšanja programa:

    Program bi trebao pogoditi broj ne iz segmenta, već cijeli broj iz segmenta iz [−10; 10], isključujući nulu. Istovremeno, pokušajte osigurati da raspodjela slučajnih brojeva koje generira program bude ujednačena (to jest, ako ispadne nula, ne može se jednostavno zamijeniti nekim drugim brojem, na primjer, 1, jer će tada 1 ispasti s dvostruko većom vjerojatnošću od ostalih brojeva).

    Program bi trebao upozoriti korisnika da je pogriješio u znaku, ako je program pogodio pozitivan broj, a korisnik unio negativan. I obrnuto.

Petlja poput "n-puta" (za izjavu)

Naredba for sadrži tri parametra. Prvi se zove inicijalizacija, drugi je uvjet iteracije, a treći je iteracija.

For (inicijalizacija; uvjet; iteracija) (// tijelo petlje, tj. radnje koje se ponavljaju ciklički)

U prvom parametru obično se odabire neka vrsta varijable uz pomoć koje će se brojati broj ponavljanja ciklusa. Zove se brojač. Brojaču je dodijeljena neka početna vrijednost (naznačiti od koje vrijednosti će se promijeniti).

U drugom parametru je naznačeno neko ograničenje na brojaču (naznačiti na koju će se vrijednost promijeniti).

Treći parametar specificira izraz koji mijenja brojač nakon svakog koraka petlje. Obično je to povećanje ili smanjenje, ali možete koristiti bilo koji izraz gdje će se brojaču dodijeliti neka nova vrijednost.

Prije prvog koraka ciklusa, brojač se inicijalizira (inicijalizira). To se događa samo jednom.

Prije svakog koraka petlje (ali nakon inicijalizacije) provjerava se uvjet ponavljanja, ako je istinit, onda se tijelo petlje ponovno izvršava. U tom se slučaju tijelo petlje ne smije izvršiti niti jednom ako je uvjet netačan u trenutku prve provjere.

Nakon završetka svakog koraka petlje i prije početka sljedećeg (i, dakle, prije provjere uvjeta ponavljanja), izvodi se iteracija.

Predstavljeni program prikazuje brojeve od 1 do 100 na ekranu:

Za (int i = 1; i<= 100; i++) { System.out.print(i + " "); }

Predstavljeni program ispisuje brojeve od 10 do -10 na ekran:

Za (int s = 10; s> -11; s--) (System.out.print (s + "");)

Prikazani program prikazuje neparne brojeve od 1 do 33:

Za (int i = 1; i<= 33; i = i + 2) { System.out.print(i + " "); }

Prikazani program izračunat će zbroj elemenata fragmenta sekvence 2, 4, 6, 8, ... 98, 100. Dakle:

Int zbroj = 0; // Ovdje ćemo akumulirati rezultat za (int j = 2; j

Prikazani program će podići broj iz varijable a prirodni stupanj od varijable n:

Dvostruko a = 2; int n = 10; dvostruki res = 1; // Ovdje ćemo akumulirati rezultat za (int i = 1; i<= n; i++) { res = res * a; } System.out.println(res);

Prikazani program će prikazati prvih 10 elemenata niza 2n + 2, gdje je n = 1, 2, 3 ...:

Za (int i = 1; i< 11; i++) { System.out.print(2*i + 2 + " "); }

Prikazani program će prikazati prvih 10 elemenata niza 2a n − 1 +3, gdje je a 1 = 3:

Int a = 3; za (i = 1; i<=10;i++) { System.out.print(a + " "); a = 2*a + 3; }

U jednom ciklusu može se postaviti nekoliko brojača. U ovom slučaju, nekoliko izraza u iteraciji i u inicijalizaciji odvojeno je zarezima. Uvjet ponavljanja može se postaviti samo jedan, ali može biti izraz koji sadrži nekoliko brojača odjednom.

Prikazani program će prikazati prvih 10 elemenata niza 2a n − 1 -2, gdje je a 1 = 3:

Za (int a = 3, i = 1; i<=10; a=2*a-2, i++) { System.out.print(a + " "); }

Prikazani program će prikazati sljedeći slijed "0 -1 -4 -9 -16 -25":

Za (int a = 0, b = 0; a-b<=10; a++, b--) { System.out.print(a*b + " "); }

Rani završetak petlje (izjava o prekidu)

I petlja tipa "pa" i petlja tipa "n-times" mogu se prekinuti prije roka ako se operator pozove unutar tijela petlje pauza... U tom slučaju će se dogoditi trenutni izlazak iz petlje, čak ni trenutni korak neće biti dovršen (tj. ako je bilo drugih izjava nakon prekida, oni se neće izvršiti).

Kao rezultat sljedećeg primjera, na ekranu će se prikazati samo brojevi "1 2 3 4 End":

Za (int a = 1; a

Kada program petlju izvrši peti put (uđe u petlju s brojačem jednakim 5), odmah će provjeriti i uvjet pod kojim će se izvršiti naredba break bit će istinit. Ostatak tijela petlje (izlaz na ekran) više se neće izvoditi: program će odmah ići na izvršenje operacija navedenih nakon petlje i dalje.

Koristeći naredbu break, možete prekinuti poznatu beskonačnu petlju. Primjer (na ekranu će se prikazati "100 50 25 12 6 3 1 0" i tada će se ciklus zaustaviti):

Int s = 100; while (true) (System.out.print (s + ""); s = s / 2; if (s == 0) (prekid;))

Ima smisla pozvati operator prekid samo kada se pojavi neki uvjet, inače će ciklus biti prekinut prije roka u svom prvom koraku.

Int a; za (a = 25; a> 0; a--) (prekid; System.out.print (a + "");) System.out.print ("a =" + a);

U gornjem primjeru, izlaz u petlji na ekran neće se dogoditi niti jednom, već kada je varijabla aće se nakon ciklusa prikazati na ekranu, ispostavit će se da se njegova vrijednost nikada nije promijenila, odnosno prikazat će "a = 25" (i ništa drugo).

Također imajte na umu da je varijabla deklarirana prije početka petlje. Kada se varijabla deklarira u parametrima ciklusa, ispada da je nedostupna izvan svojih kapelica, a u ovom slučaju je bilo potrebno nešto drugo - da se sazna koju će vrijednost brojač imati nakon završetka ciklusa.

Zadaci

    Napravite program koji prikazuje sve četveroznamenkaste brojeve u nizu 1000 1003 1006 1009 1012 1015….

    Napravite program koji prikazuje prvih 55 elemenata niza 1 3 5 7 9 11 13 15 17….

    Napravite program koji prikazuje sve ne-negativne elemente niza 90 85 80 75 70 65 60….

    Napravite program koji prikazuje prvih 20 elemenata niza 2 4 8 16 32 64 128….

    Ispišite sve članove niza 2a n-1 -1, gdje je a 1 = 2, koji su manji od 10000.

    Ispišite sve dvoznamenkaste članove niza 2a n-1 +200, gdje je a 1 = -166.

    Napravite program koji izračunava faktorijel prirodnog broja n koji korisnik unosi s tipkovnice.

    Prikaži sve pozitivne djelitelje prirodnog broja koje je korisnik unio s tipkovnice.

    Provjerite je li prirodni broj koji je korisnik unio s tipkovnice prost. Pokušajte ne izvoditi nepotrebne radnje (na primjer, nakon što ste pronašli barem jedan netrivijalni djelitelj, već je jasno da je broj složen i nema potrebe za nastavak provjere). Također imajte na umu da najmanji djelitelj prirodnog broja n, ako postoji, mora biti smješten u segmentu.

    Napravite program koji prikazuje prvih 12 elemenata niza 2a n-2 -2, gdje je a 1 = 3 i a 2 = 2.

    Prikaži prvih 11 članova Fibonaccijevog niza. Podsjećamo da su prvi i drugi član niza jednaki jedinicama, a svaki sljedeći je zbroj prethodna dva.

    Za prirodni broj koji je korisnik unio s tipkovnice, prebrojite zbroj svih njegovih znamenki (ne zna se unaprijed koliko će znamenki biti u broju).

    U gradu N putovanje tramvajem odvija se uz papirnate karte. Svaki tjedan tramvajski depo naručuje rolu karata iz lokalne tiskare s brojevima od 000001 do 999999. Karta se smatra "sretnom" ako je zbroj prve tri znamenke broja jednak zbroju posljednje tri znamenke , kao na primjer na kartama s brojevima 003102 ili 567576. Tramvajsko skladište odlučilo je vlasniku svake sretne karte pokloniti suvenir i sada se pita koliko će suvenira biti potrebno. Pomoću programa prebrojite koliko je sretnih listića u jednoj smotki?

    City N ima veliko skladište s 50.000 različitih polica. Radi udobnosti radnika, uprava skladišta odlučila je naručiti ploču s brojem od 00001 do 50.000 za svaku policu u lokalnoj tiskari, no kada su ploče tiskane ispostavilo se da je tiskara, zbog kvara , nije ispisao broj 2, pa se sve ploče u čijim brojevima nalaze jedna ili više dvije (npr. 00002 ili 20202) - moraju se ponovno ispisati. Napišite program koji izračunava koliko je takvih pogrešnih ploča bilo u neispravnoj seriji.

    Digitalni sat prikazuje vrijeme u formatu od 00:00 do 23:59. Izbrojite koliko se puta dnevno dogodi da se simetrična kombinacija prikaže lijevo od debelog crijeva za onu desno od debelog crijeva (na primjer, 02:20, 11:11 ili 15:51).

    U američkoj se vojsci broj 13 smatra nesretnim, a u japanskoj je 4. Prije međunarodnih vježbi, stožer ruske vojske odlučio je isključiti brojeve vojne opreme koja sadrži brojeve 4 ili 13 (npr. 40123 , 13313, 12345 ili 13040) kako ne bi osramotili strane kolege. Ako vojska ima 100 tisuća jedinica vojne opreme i svako borbeno vozilo ima broj od 00001 do 99999, koliko će se onda brojeva morati izbrisati?

2010, Aleksej Nikolajevič Kostin. Odsjek TIDM, Matematički fakultet Moskovskog državnog pedagoškog sveučilišta.

Vrhunski povezani članci