Hogyan írnátok ezt meg c++ ban?
Itt nem tudom lefordítani programot, de pl vegyük 5-t
Annak a gyökét vonod, az ~2,23.
És megvizsgálja, hogy 5%2,23 egyenlő-e 0.0-val. Ha nem, akkor nem négyzetszám. Elvileg mennie kell.
A fura az hogy van egy olyan hogy:
x = sqrt(i)
if(x%2 == 0)
{
.....//többek közt kiírja hogy négyzet ha teljesül a //másik if hogy négyzet
}
tehát ha azt írom i-nek hogy 5 semmi kép nem írhatná hogy négyzet de mégis kiírja
Mert floatokat sosem hasonlítgatunk egymással, ez alap.
Deklaráld intnek, vonj gyököt, majd az eredményt emeld négyzetre. Ha visszakapod az eredeti számot, akkor négyzetszám volt.
Akik ideírkálták a sok f@szságot. meg húzzanak el korrepetálásra.
x = sqrt(i);
if(sqrt(i)==(x*x))
{
std::cout << "négyzet";
}
így meg semmi nem négyzet
x=sqrt(i);
if(sqrt(i)==(x*x))
{
std::cout << "négyzet";
}
az "x=sqrt(i);" nem kell az elejére, mert akkor azt ellenőrzöd, hogy x egyenlő-e x^2-el.
További 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!