Polish version    English version  
  History of OI -> XVI OI 2008/2009 -> For contestants


 News
 About Olympic
 History of OI
XVII OI 2009/2010
XVI OI 2008/2009
Schedule
Problems
Regulations
Stage I - results
Stage II - results
Stage III - results
Stage II
Stage III
For contestants
Helpful resources
XV OI 2007/2008
XIV OI 2006/2007
XIII OI 2005/2006
XII OI 2004/2005
XI OI 2003/2004
X OI 2002/2003
IX OI 2001/2002
VIII OI 2000/2001
VII OI 1999/2000
VI OI 1998/1999
V OI 1997/1998
IV OI 1996/1997
III OI 1995/1996
II OI 1994/1995
I OI 1993/1994
 OI books
 National team
 Olympic camps
 Photo gallery
 Links
 SIO
 MAIN
This document is not available in English version.

Przykładowe programy


Poniżej prezentujemy rozwiązania bardzo prostych zadań:

Kwadrat (skrót: kwa)

Treść zadania

Napisz program, który wczytuje ze standardowego wejścia liczbę całkowitą x (-100 <= x <= 100) i wypisuje na standardowe wyjście jej kwadrat.

Rozwiązanie w C (plik kwa.c)

 #include <stdio.h>
 
 int main()
 {
   int liczba;
   scanf("%d", &liczba);
   printf("%d\n", liczba * liczba);
   return 0;
 }

Rozwiązanie w C++ (plik kwa.cpp)

 #include <cstdio>
 using namespace std;
 
 int main()
 {
   int liczba;
   scanf("%d", &liczba);
   printf("%d\n", liczba * liczba);
   return 0;
 }

Rozwiązanie w C++ z użyciem strumieni (plik kwa.cpp)

 #include <iostream>
 using namespace std;
 
 int main()
 {
   ios_base::sync_with_stdio(0);
   int liczba;
   cin >> liczba;
   cout << liczba * liczba << endl;
   return 0;
 }
W przypadku używania strumieni wyłączenie synchronizacji wejścia/wyjścia przy pomocy polecenia ios_base::sync_with_stdio(0); jest konieczne ze względów wydajnościowych.

Rozwiązanie w Pascalu (plik kwa.pas)

 var
   liczba:integer; 
 
 begin
   Read(liczba);
   Writeln(liczba * liczba);
 end.

Rozwiązanie w Javie (plik kwa.java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class kwa{
  public static void main(String[] args) throws java.io.IOException {
    BufferedReader bufReader = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer tokenizer = new StringTokenizer(bufReader.readLine());
    int n = Integer.parseInt(tokenizer.nextToken());
    System.out.println(n * n);
  }
}

Odwrotność (skrót: odw)

Treść zadania

Napisz program, który wczytuje ze standardowego wejścia jedno słowo długości od 1 do 100 znaków i wypisuje na standardowe wyjście słowo o odwrotnej kolejności liter.

Rozwiązanie w C (plik odw.c)

 #include <stdio.h>
 
 #define MAX_DLUGOSC 100
 
 int main()
 {
   char slowo[MAX_DLUGOSC+1];
   int i;
   scanf("%s", slowo);
   for (i = 0; slowo[i] != 0; ++i);
   while (i > 0) printf("%c", slowo[--i]);
   printf("\n");
   return 0;
 }

Rozwiązanie w C++ (plik odw.cpp)

#include <cstdio>
#define MAX_DLUGOSC 100
using namespace std;

int main()
{
  char slowo[MAX_DLUGOSC+1];
  int i;
  scanf("%s", slowo);
  for(i = 0; slowo[i] != 0; ++i);
  while(i--)
    printf("%c", slowo[i]);
  printf("\n");
  return 0;
}

Rozwiązanie w C++ z użyciem strumieni (plik odw.cpp)

#include <iostream>
#define MAX_DLUGOSC 100
using namespace std;

int main()
{
  ios_base::sync_with_stdio(0);
  char slowo[MAX_DLUGOSC+1];
  int i;
  cin >> slowo;
  for(i = 0; slowo[i] != 0; ++i);
  while(i--)
    cout << slowo[i];
  cout << endl;
  return 0;
}
W przypadku używania strumieni wyłączenie synchronizacji wejścia/wyjścia przy pomocy polecenia ios_base::sync_with_stdio(0); jest konieczne ze względów wydajnościowych.

Rozwiązanie w Pascalu (plik odw.pas)

 var
   slowo:string;
   i:integer;
 
 begin
   Read(slowo);
   for i := length(slowo) downto 1 do
     Write(slowo[i]);
   Writeln;
 end.

Rozwiązanie w Javie (plik odw.java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class odw{
  public static void main(String[] args) throws java.io.IOException {
    BufferedReader bufReader = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer tokenizer = new StringTokenizer(bufReader.readLine());
    String slowo = tokenizer.nextToken();
    StringBuffer odwrotnosc = new StringBuffer();
    for (int i=0;i<slowo.length();++i){
      odwrotnosc.append(slowo.charAt(slowo.length()-i-1));
    }
    System.out.println(odwrotnosc.toString());
  }
}




Print friendly version