Programowanie i algorytmy

Rok przestępny

Zad. 3. Napisz program, który po pobraniu pełnego roku określi, czy dany rok jest przestępny.

 

Rozwiązanie:

Zastanówmy się najpierw, kiedy dany rok jest przestępny.

Rok jest przestępny, gdy jest podzielny przez 4 i nie jest podzielny przez 100 lub jest podzielny przez 400. Np. 2012, 1996, 2000 to lata przestępne, natomiast 1900, 2001, 1998 nie są przestępne.

Sposób 1
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
  int rok;
 
  cout<<"Podaj rok: ";
  cin>>rok;
 
  //wykorzystanie warunku złożonego
  if((rok%4==0 && rok%100!=0) || rok%400==0) 
    cout<<"Rok "<<rok<<" jest przestępny.";
  else
    cout<<"Rok "<<rok<<"nie jest przestępny.";
 
  cout<<endl;
 
  system("pause");
  return 0;
}
 

 

Sposób 2
#include <cstdlib>
#include <iostream>
using namespace std;
 
int main()
{
  int rok;
 
  cout<<"Podaj rok: ";
  cin>>rok;
 
  if(rok%400==0) //wykorzystanie warunków prostych
    cout<<"Rok "<<rok<<" jest przestępny.";
  else
    if(rok%100==0)
      cout<<"Rok "<<rok<<" nie jest przestępny.";
    else
      if(rok%4==0)
        cout<<"Rok "<<rok<<" jest przestępny.";
      else
        cout<<"Rok "<<rok<<" nie jest przestępny.";
 
  cout<<endl;
 
  system("pause");
  return 0;
}
 

powrót