Architektas suprojektavo salę, kurioje bus n eilių ir k kėdžių. C++
Yankee +97
Kaip antram uždaviniui parašyti if'o sąlyga: if(ar iš i skaičiaus traukiasi šaknis)?
Tomas PRO +4543
O ką turi omeny sakydamas "traukiasi šaknis". Tai, jog rezultatas natūralusis skaičius, ar kad pošaknis neneigiamas?
pakeista prieš 6 m
Yankee +97
O ką turi omeny sakydamas "traukiasi šaknis". Tai, jog rezultatas natūralusis skaičius, ar kad pošaknis neneigiamas?
Jog rezultatas natūralusis skaičius.
Tomas PRO +4543
Matai kaip yra su tuo skaičiaus priklausymui natūraliųjų skaičių aibei. Jei tu susikuri kintamąjį int tipo tarkime a ir jam priskiri tarkime a=sqrt(5), tai tu iškart gausi rezultato sveikąją dalį. Nežinau tiksliai tavo kodo, bet manau tau užtektų pasidaryti apribojimą, kad n>0, o jei taip norisi sąlygos kada rezultatas vis dar sveikas skaičius, tai tarkime gali rašyti n≥1, nes priešingu atveju jau niekaip negausime skaičiaus sqrt(n), kurio sveikoji dalis yra nemažesnė už 1.
int main() { int n, x; cout << "Iveskite plyteliu skaiciu: "; cin >> n; while (n>=1) { x=sqrt(n); cout << x*x << " "; n-=x*x; } } Esmė yra tokia, jog jei turime n plytelių tai didžiausio galimo sudaryti kvadrato kraštinė lygi sveikajai daliai skaičiaus, kurį gauname ištraukę kvadratinę šaknį iš n. Vėliau tiesiog cikle atimame jau panaudotų kubelių skaičių ir ieškome naujo kvadrato, kol jį sudaryti įmanoma.
Tomas PRO +4543
Supaprastinkime penktą užduotį. Ar įvedus tarkime n=5, gali parašyti kodą, kuris išvestų skaičių 11111, o parašius n=4 atitinkamai 1111 ir t.t. Būtina sąlyga išvedamas skaičius turi būti išsaugotas kaip vienas kintamasis.
pakeista prieš 6 m
Yankee +97
Antras uždavinys man nesigavo, nes dariau su for ciklu, bet bandžiau kažką panašaus padaryti, o dėl penkto uždavinio tai ką tik mėginau, neišėjo.
Tomas PRO +4543
Neišeina, net po mano patarimo, kad: 1, 11=1*10+1, 111=11*10+1 ir t.t. ? #include <iostream> using namespace std;
int main() { int n;
cout << "n = "; cin >> n;
double x = 0;
for(int i = 0; i < n; i++) { x=10*x+1; } cout << x; return 0; }
Yankee +97
#include <iostream> using namespace std;
int main() { int n;
cout << "n = "; cin >> n;
double x = 0;
for(int i = 0; i < n; i++) { x=10*x+1; } cout << x; return 0; }
Viską taip pat rašiau tik vietoje paryškinto x mėginau su i reikšme. Dėl to ir nesigavo. Dėkui tau labai!