Witam. Mam takie o to zadanie:
Podać z klawiatury ciąg dowolnych liczb naturalnych zakończony zerem. Obliczyć liczbę elementów tego ciągu spełniających następujące warunki:
a. są kwadratami liczb naturalnych'
b. element ciągu jest mniejszy od poprzedniego.
Ad. 1a.
moim pomyslem jest sprawdzenie warunku n nalezy do naturalnych poprzez pierwiastek i modul z liczny pierwiastkowanej na zasadzie
x = sqrt(n)
r = x%1.0
if (r == 0)
to jest to liczba naturalna
jednakze mam problem z typami danych int double..
tutaj jest caly kod
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n, reszta, ilosc=0;
cout << "Podaj liczbę naturalną: ";
cin >> n;
if (n>0)
{
while (n!=0)
{
double zmienna=sqrt(n);
reszta=zmienna%1;
if (reszta==0) ilosc++;
}
cout << "Liczba " << n << " posiada " << ilosc << " liczb ktore są kwadratami liczb naturalnych.\n";
}
else
{
cout << "To nie jest liczba naturalna." << endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Ad.2 w ogóle nie mam pomyslu jak sie do tego zabrac;/
Prosze was o pomoc ;)
dodanie znaczników <code class="cpp"> oraz `` - fp