C++
Se dau 2 numere naturale a b, a < b. Determinați câte numere din intervalul [a,b] sunt pătrate perfecte și au proprietatea că oglinditul lor este pătrat perfect.
Date de intrare
Programul citește de la tastatură numerele a b.
Date de ieşire
Programul afișează pe ecran numărul C, reprezentând valoarea căutată.
Restricţii şi precizări
1 ≤ a < b ≤ 1.000.000.000
Exemplu
Intrare
100 500
Ieșire
7
Explicație
Numerele sunt 100 121 144 169 400 441 484.
Răspunsuri la întrebare
Răspuns de
8
Am facut o sursa C++, in care mergi de la 1 la radical(1000000000) adica 31622 + 1 si asfel poti obtine 100puncte. Succes!
#include <bits/stdc++.h>
using namespace std;
int ninv, i, a, b, nr, n, k, r;
int main()
{
cin >> a >> b;
for(i = 1; i <= 31623; i ++)
{
n = i * i;
k = n;
ninv = 0;
while(n)
{
ninv = ninv * 10 + n % 10;
n = n / 10;
}
r = sqrt(ninv);
if(r * r == ninv && k >= a && k <= b) nr++;
}
cout << nr;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int ninv, i, a, b, nr, n, k, r;
int main()
{
cin >> a >> b;
for(i = 1; i <= 31623; i ++)
{
n = i * i;
k = n;
ninv = 0;
while(n)
{
ninv = ninv * 10 + n % 10;
n = n / 10;
}
r = sqrt(ninv);
if(r * r == ninv && k >= a && k <= b) nr++;
}
cout << nr;
return 0;
}
Alte întrebări interesante
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba rusă,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă