// koksqrt.cpp // Ohjelma tulostaa kaikki kokonaisluvut <= 1000, joiden // neli”juuri on kokonaisluku // Vesa Lappalainen 11.1.1998 #include #include #include //--------------------------------------------------------------------------- void tulosta_neliojuuret_1(int raja) // Matemaatikon versio { int n=0, ns=0; while ( n <= raja ) { cout << setw(4) << n << " => " << setw(4) << ns << endl; ns++; n = ns*ns; } } //--------------------------------------------------------------------------- void tulosta_neliojuuret_2(int raja) // "Raakavoimaratkaisu" { int n=0; double ns; while ( n <= raja ) { ns = sqrt(n); if ( int(ns) == ns ) cout << setw(4) << n << " => " << setw(4) << ns << endl; n++; } } #include //--------------------------------------------------------------------------- void tulosta_neliojuuret_3(int r) // "Hakkerin" ratkaisu C-tulostuksella { for (int i=0,j=0; i %4d\n",i,j); } //--------------------------------------------------------------------------- void tulosta_neliojuuret_4(int ) // M$ ratkaisu, jossa p„„tetty etta 100 riitt„„ :-) { cout << " 0 => 0\n" << " 1 => 1\n" << " 4 => 2\n" << " 9 => 3\n" << " 16 => 4\n" << " 25 => 5\n" << " 36 => 6\n" << " 49 => 7\n" << " 64 => 8\n" << " 80 => 9\n" // Kuuluu M$-ratkaisuun, korjataan ver 3.5 :-) << " 100 => 10" << endl; } //--------------------------------------------------------------------------- int main(void) { tulosta_neliojuuret_1(1000); tulosta_neliojuuret_2(1000); tulosta_neliojuuret_3(1000); tulosta_neliojuuret_4(1000); return 0; }