GRY-Online.pl --> Archiwum Forum

proste zadanie, c++

28.11.2009
11:48
[1]

Ziomaleq [ impossible is nothing ]

proste zadanie, c++

Równanie liniowe
Limit pamięci: 32 MB

Mamy dane równanie liniowe względem zmiennej . Mając dane nieujemne liczby całkowite Twoim zadaniem będzie obliczenie liczby liczb całkowitych spełniających to równanie.
Zadanie

Napisz program, który:

* wczyta ze standardowego wejścia nieujemne liczby całkowite ,
* wypisze liczbę całkowitą bedącą liczbą rozwiązań całkowitoliczbowych równania, albo "NIESKONCZONOSC" jeśli takich rozwiązań jest nieskończenie wiele.

Wejście

W pierwszym i jedynym wierszu wejścia znajdują się 2 nieujemne liczby całkowite ().
Wyjście

W jedynym wierszu wyjścia należy wypisać jedna liczbę całkowitą, będącą liczbą całkowitoliczbowych rozwiązań równania, albo "NIESKONCZONOSC", jeśli liczba takich rozwiązań jest nieskończona
Przykład
Dla danych wejściowych:

0 0

poprawną odpowiedzią jest:

NIESKONCZONOSC

a dla danych wejściowych:

2 4

poprawnym wynikiem jest:

1


**** pomoze ktos?

28.11.2009
11:59
[2]

pablo397 [ sport addicted ]

no ale w czym masz problem? bo przedstawiles tylko opis zadania

28.11.2009
12:12
[3]

Ziomaleq [ impossible is nothing ]

niewiem, jak ma zliczac ilosc liczb spelniajacych rownanie.

28.11.2009
12:25
[4]

Dym14 [ C L I N I C ]

Nie rozumiem w czym problem.
O ile dobrze zrozumiałem:
wczytujesz liczbę
sprawdzasz czy nie jest ujemna

‹ masz wzór ax + b = 0 ›
jeżeli a <>0 to wynik jest 1 (jedno rozwiązanie)
w przeciwnym wypadku jeżeli b=0 to nieskończenie wiele rozwiązań
w przeciwnym wypadku wynik jest 0 (brak rozwiązań)


eee i to wszystko?

28.11.2009
12:27
[5]

Ziomaleq [ impossible is nothing ]

ach... zle skopiowałem. zobacz teraz:

28.11.2009
12:36
[6]

mac2000 [ Konsul ]

int licznik=0;
for(int x=0;x<=1000;x++)‹
if(x==(b/a))
licznik++;

cout<<licznik;

Dorobisz jeszcze warunek dla 0 i już.(a>0)

28.11.2009
12:46
[7]

Kogee [ Kogi ]

Mało to efektywne. (i na oko nie będzie działało przy b/a będącym ułamkiem)
Rozpatrz 4 przypadki
1) Dla jakich a i b będzie będzie nieskończoność rozwiązań
2) Dla jakiej zależności b i a będzie to jedno rozwiązanie
3) Dla jakiego a punkt wyżej wywali program
4) Cała reszta wypisze 0

01.12.2009
20:05
smile
[8]

lolka123 [ Junior ]

czyli jaki jest ten kod najefektywniejszy... jak mozecie podajcie od początku...<prosi>

01.12.2009
20:40
[9]

reik [ Pretorianin ]

zadanie jest z typu tych, w których trzeba więcej pomyśleć niż pokodować.

1. Najpierw trzeba rozwiązać równanie:

a * x = b, czyli inaczej x = b/a

2. Potem trzeba się zastanowić dla jakich "a" i "b" powyższe równanie ma:
* 1 rozwiązanie (dla a != 0 && b != 0)
* 0 rozwiązań (dla a == 0 && b != 0)
* nieskończenie wiele rozwiązań (dla a == 0 && b == 0).

3. Trzeba warunek z punktu 2 napisać w C/C++. W pseudokodzie (zoptymalizowanym tak, żeby ładnie wyglądał na tym forum) by to wyglądało tak:

string function IleRozwiazan(int a, int b)

if (a == 0 && b == 0) return "NIESKOŃCZONOŚĆ";
if (b ==0) return "0 rozwiązań";
return "1 rozwiązanie"

01.12.2009
22:52
[10]

lolka123 [ Junior ]

zadanie jest z typu tych, w których trzeba więcej pomyśleć niż pokodować>>
ale nie da rady, to się ni sprawdza... jak mozesz to wrzuc tu ten kod :) z góry dziękuję;*

© 2000-2024 GRY-OnLine S.A.