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

[C++] Liczba elementów ciągu które są kwadratami liczb naturalnych

Ostatnio zmodyfikowano 2015-10-21 15:28
Autor Wiadomość
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.

C/C++
#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
P-138974
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.
P-138975
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).
P-138984
« 1 »
  Strona 1 z 1