Równanie liniowe – pomoc w zrozumieniu sensu zadania

Równanie liniowe – pomoc w zrozumieniu sensu zadania
C9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Witam, już trochę siedzę nad tym i już sam nie wiem co jest nie tak, potrzebuje porady może ktoś pomoże,
zadanie pochodzi ze strony https://szkopul.edu.pl/problemset/problem/MJd-k0bS1ut1mRh1qA-_QBhQ/site/?key=statement
według testera mam 60%

Kopiuj
błędy pokazane na testerze

1 wiersz 1: wczytano '1', a oczekiwano '0'
2 wiersz 1: wczytano '1', a oczekiwano '0'
6 wiersz 1: wczytano '1', a oczekiwano '0'
8 wiersz 1: wczytano '1', a oczekiwano '0'

oto mój kod:

Kopiuj
var a, b : real;
begin
read (a,b);
if (a <> 0) then
begin
writeln ('1');
end
else if (b = 0) then
begin
writeln ('NIESKONCZONOSC');
end
else writeln ('0');
readln;
 readln;
end.
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Twoim zadaniem będzie obliczenie liczby liczb całkowitych spełniających to równanie

C9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

patryk27 nie wiem co masz na myśli, zmianę typu danych?

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5025
1

Użyj liczb całowitych, bo w nich Szukasz ilości rozwiązań, (nie znam za bardzo Pascala) tak by to wyglądało w pseudokodzie: (mogłem coś pominąć):

Kopiuj
def solution_int(a, b):
	if b % a == 0:
		return 1
	else:
		return 0

def num_solutions(a, b):
	if b == 0:
		if a == 0: 
			return "inf"
		else:
			return 1
	else:
		if a == 0:
			return 0
		else:
			return solution_int(a, b) 

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

patryk27 nie wiem co masz na myśli, zmianę typu danych?

Ile rozwiązań poda Twój algorytm np. dla równania 3x=5?
Ile z nich jest całkowitych?
W jaki sposób to wyliczyć?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
#include <iostream>
using namespace std;

int main()
{
	static const char *tb[2][2]={{"1","1"},{"0","inf"}};
	static const char *bt[]={"1","0","inf"};
	double a,b;
	while(cin>>a>>b) cout<<tb[a==0][b==0]<<" "<<bt[((b==0)+1)*(a==0)]<<endl;
	return 0;
}

https://ideone.com/cyDjK9

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.