Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zadanie Tabliczka - program z zadaniem.

Ostatnio zmodyfikowano 2014-01-04 12:05
Autor Wiadomość
virhill
Temat założony przez niniejszego użytkownika
Zadanie Tabliczka - program z zadaniem.
» 2014-01-04 11:22:58
Mama przyniosła Piotrusiowi i Pawełkowi tabliczkę czekolady o wymiarach i . Chłopcy chcą podzielić tabliczkę za pomocą jednego prostego łamania, wzdłuż kostek pionowych lub poziomych. Chłopcy chcą podzielić tabliczkę jak najbardziej sprawiedliwie, czyli tak, aby różnica pomiędzy kawałkami, które przypadną na każdego z nich, była jak najmniejsza.

Wejście

W pierwszym i jedynym wierszu wejścia znajdują się dwie liczby całkowite (), oznaczające odpowiednio liczbę kostek znajdujących się w każdym wierszu oraz każdej kolumnie tabliczki czekolady.

Wyjście

W pierwszym i jedynym wierszu wyjścia powinna się znaleźć jedna liczba całkowita, równa różnicy pomiędzy kawałkami, które dostaną chłopcy

Dla danych wejściowych:
5 3
poprawną odpowiedzią jest:
3

Napisałem taki program, ale przy dużych liczbach wychodzi poza zakres, w jaki sposób mógłbym udoskonalić ten program aby dla dużych liczb też dawał poprawne wyniki, czekam na wskazówki.
C/C++
#include<iostream>
#include<cstdio>
using namespace std;
long long tab1[ 1000000 ];
long long tab2[ 1000000 ];
int main()
{
    int a, b;
    scanf( "%d", & a );
    scanf( "%d", & b );
    long long c = 0, d = 0, e = 0;
    c =( a * b ) / 2;
    d = c; e = c;
    while( c % b != 0 )
    {
        c++;
    }
    while( d % a != 0 )
    {
        d++;
    }
    c = c -( a * b - c );
    d = d -( a * b - d );
    if( d > c )
    {
        printf( "%d", c );
    }
    else
    {
       
        printf( "%d", d );
    }
}
P-101088
Monika90
» 2014-01-04 11:50:19
Jeżeli co najmniej jednen z wymiarów jest parzysty, to różnica wynosi zero, bo da się podzielić po równo. W przeciwnym wypadku jeden z chłopców dostanie jeden rząd (albo kolumnę) więcej, czyli różnica jest równa mniejszej z dwóch podanych liczb. I po co ci te pętle?
P-101090
virhill
Temat założony przez niniejszego użytkownika
» 2014-01-04 12:05:29
nie spodziewałem się że będzie to aż takie łatwe do rozwiązania
P-101093
« 1 »
  Strona 1 z 1