Zuzka_kotek sama się za siebie wypowiadała, dopóki nie zaśmieciłeś tematu swoimi sofizmatami.SlotaWoj pisze:Nadal uważam, że zuza_kotek dopiero uczy się programować w C++ i jeżeli napisałato a jest liczbą wymierną.Kod: Zaznacz cały
float a;
[C++] Czy kwadrat liczby jest liczbą całkowitą?
-
- Użytkownik
- Posty: 5101
- Rejestracja: 11 mar 2011, o 16:31
- Płeć: Mężczyzna
- Lokalizacja: 52°16'37''N 20°52'45''E
- Podziękował: 4 razy
- Pomógł: 1001 razy
[C++] Czy kwadrat liczby jest liczbą całkowitą?
-
- Użytkownik
- Posty: 4211
- Rejestracja: 25 maja 2012, o 21:33
- Płeć: Mężczyzna
- Lokalizacja: Kraków PL
- Podziękował: 2 razy
- Pomógł: 758 razy
[C++] Czy kwadrat liczby jest liczbą całkowitą?
@Zuzka_kotek
Program pisałem „na kolanie” więc może mieć pewne niedoskonałości.
Poniżej masz masz programik, który pozytywnie sprawdza kwadraty liczb „niewymiernych”, o ile są wprowadzone jako ich odpowiednio dokładne przybliżenia wymierne. Dokładność względna sprawdzania zależy od zmiennej RAccur.SlotaWoj pisze:Komputer z założenia przetwarza jedynie na liczby wymierne.
Przydało by się sprawdzanie zera z jakąś dokładnością, aby kwadrat przybliżenia np. \(\displaystyle{ \sqrt{2}}\) (oczywiście o dużej liczbie cyfr) był rozpoznawany jako liczba całkowita.
Kod: Zaznacz cały
#include <iostream.h>
using namespace std;
int main()
{ const double RAccur = 1.E-08;
double Number, Square, Work, Abs;
cout << "Podaj liczbe: ";
cin >> Number;
Square = Number*Number;
Work = 1-int(Square+0.5)/Square;
if ( Work > 0 ) Abs = Work;
else Abs = -Work;
if (Abs < RAccur)
cout << "Liczba jest calkowita.";
else
cout << "Liczba nie jest calkowita."; }