top of page

<ATGAL>

 

************************************************************************

Keliamieji metai

Keliamieji metai turi 366 dienas, paprastieji - 365. Keliamaisiais vadinami tie metai, kurie be liekanos dalijasi iš 4. Šimtmečių metais laikomi tie, kurie be liekanos dalijasi iš 400.

Parašykite programą, kuri parodytų ekrane, kurie laikotarpio nuo m iki n -tųjų metai yra keliamieji.

Pasitikrinkite,

kai m=1999, n=2010,

keliamieji metai yra 2000, 2004, 2008.

************************************************************************

#include <iostream>

 

using namespace std;

int m;          //metai pirmi

int n;          //metai paskutiniai

int i;

 

int main()

{

    cout << "KELIAMIEJI METAI" << endl;

    cout << "Kokia bus laikotarpio pradzia? ";

    cin >> m;

    cout << "Pabaiga  ";

    cin >> n;

    for (i = m; i <= n; i++)

    {

        if (i % 4 == 0 )        //dalijasi iš 4 be leikanos

            if (i % 100 != 0)   //ir nėra šimtmečių metai

                 cout << " keliamieji metai " << i << endl;

            //yra šimtmečių metai

            else if (i % 400==0)  //ar dalijasi iš 400 be liekanos

                 cout << " keliamieji šimtmečių metai " << i << endl;

    }

    return 0;

}

 

<ATGAL>

 

************************************************************************

Kvadratai

Iš n kvadratinių pklytelių reikia sudėlioti vienos plytelės storio kvadratus: pirmiausia sudėti didžiausią galimą kvadratą, iš likusių vėl galimą didžiausią ir t.t.

Parašykite programą, kuri išskaidytų nurodytą plytelių skaičių į dalis, reikalingas kiekvieno kvadrato statybai.

 

Pasitikrinkite: kai n=75, turėtumėte gauti 64, 9, 1, 1.

 

(XI olimpiada, 2000 m)

************************************************************************

 

#include <iosstrem>

#include <cmath>

using namespace std;

int main()

{   

   int n;            // kvadratinių plytelių skaičius   

   int i,

   kv,               //kvadratas, kurį galėsime sudaryti 

   p;                //pradėsime nuo dižiausio kvadrato   

   cout << "Kiek yra plytelių? "; cin >> n;   

   p=sqrt(n);    

   for (i=p; i > 0; i--)       

   {           

        kv =i * i;         

        if (kv <= n){             

           cout << "kvadratas=" << kv << endl;             

           n = n - kv;             

          }         

   }   

   if (n > 0)       //jei dar yra likusių plytelių, turėsime kvadratus iš vienos plytelės

   for (i = 1; i <= n; i++)       

       cout << "kvardatas=" << 1 << endl;   

   return 0;

}

 

<ATGAL>

 

 

 

<ATGAL>

************************************************************************

Didžiausias sekoje

Duota sveikųjų skaičių seka, kurioje yra n narių. Rasti didžiausia skaičių

Pasitikrinkite: kai n=5, duota seka 7, 11, 2, 8, 30. Atsakymas - "Didžiausias skaičius=11"

 

************************************************************************

 

#include <iostream>

using namespace std;

int main(){

int m,    //sekos narys

    n,    //kiek yra sekoje skaičių

    i,

    max;  //didžiausias

    cout << "kiek yra skaičių sekoje "; cin >> n;

    i=1;

    cout << " Įveskite " << i << " skaičių: "; cin >> m;

    max=m;

    for (i = 2; i <= n; i++)

    {

        cout << " Įveskite " << i << " skaičių: "; cin >> m;

        if (m > max)

            { max = m; }

    }

    cout << endl << "Didžiausias sekoje skaičius " << max;

    return 0;

}

 

bottom of page