Megvalósítható ez c++-ban? Illetve létezik ilyen szám?
Keressünk olyan számokat, amelyek négyzete azonos a szám kétszeri leírásával kapott számmal!
ez akkor olyan, hogy a^2 annyi, mint aa?
Pl. így. ez brute force megoldás, lehetne randommal is csinálni, de most maradok ennél
#include <iostream>
#include <string>
#include <sstring>
string convertInt(long number)
{
stringstream ss;
ss << number;
return ss.str();
}
int main()
{
a=1;
while(convertInt((long)pow(a,2))==convertInt(a).compare(contverInt(a))
{
a++;
}
cout <<a<<endl;
return 0;
}
Negativ szamokat felesleges, mert egyreszt ott nagyon nincs ertelme az egymas melle irasnak, masreszt meg ugynaz a helyzet mint a nem negativoknal.
(Egy jotanacs: jobban jarnal, ha magadtol csinalnad, nem a bemasolt peldat probalnad mukodesre birni, mert sosem tanulsz meg programozni)
De gyerekek, konstans második hatványra, azaz négyzetreemelésnél ne hívjatok már pow függvényt... csak lassabb lesz és esetleg hamis eredményt ad előbb-utóbb, csak nem veszed észre.
Amúgy a 0 kapásból ilyen szám, a kérdés amit vizsgálni kell, hogy lesz-e valaha nagyobb a^2 mint aa. A válasz pedig: nem. a^2 sosem lesz hosszabb szám, mint aa, hiszen a szorzás max annyi helyiértékkel tolja el, amennyivel, ezek után lásd be, hogy miért lesz a szorzat kisebb.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!