[C++] Liczba elementów ciągu które są kwadratami liczb naturalnych
Ostatnio zmodyfikowano 2015-10-21 15:28
czarnymudzyn Temat założony przez niniejszego użytkownika |
[C++] Liczba elementów ciągu które są kwadratami liczb naturalnych » 2015-10-21 09:02:04 Hej, niestety stanąłem w miejscu przy pisaniu programu, wiem jaki jest błąd, ale nie wiem jak go ominąć. W moim kodzie chce spierwiastkować liczbę a później podzielić przez dwa, wiem że tak nie wolno. Treść zadania: Podaj z klawiatury ciąg dowolnych n liczb naturalnych obliczać liczbę elementów tego ciągu wypełniając następujące warunki: a) są kwadratami liczb naturalnych. Nie mogę używać tablic. #include <iostream> #include <conio.h> #include <math.h>
using namespace std;
int main() { int n = 0, i = 0, m, b = 2; for( int i = 0; i < 1000000000000; i++ ) { cout << "Podaj liczbe numer " << i + 1 << endl; cin >> m; if( sqrt( m ) % b == 0 ) i++; else if( sqrt( m ) % b != 0 ) { while( m != 0 ); break; } } cout << "Jest tych liczb: " << i << endl; system( "pause" ); return 0; }
Pozdrawiam Patryk |
|
carlosmay |
» 2015-10-21 09:15:31 while( m != 0 ); jakieś ciało by się przydał. Joł. W moim kodzie chce spierwiastkować liczbę a później podzielić przez dwa, wiem że tak nie wolno. |
Dlaczego? Możesz skorzystać z fmod() gdy wynikiem pierwiastkowania jest liczba rzeczywista. |
|
bombatom69 |
» 2015-10-21 15:28:43 Jeśli chodzi o sprawdzanie czy liczba całkowita jest kwadratem innej całkowitej to najprościej rzutować wynik sqrt do zmiennej int i pomnożyć ją przez samą siebie - następnie porównać z badaną(czyli tą pod pierwiastkiem).
|
|
« 1 » |