eMatematikas.lt
Testai Forumas Prisijungti        

Architektas suprojektavo salę, kurioje bus n eilių ir k kėdžių. C++

Informatika Peržiūrų skaičius (2857)

Kaip antram uždaviniui parašyti if'o sąlyga: if(ar iš i skaičiaus traukiasi šaknis)?

0

O ką turi omeny sakydamas "traukiasi šaknis". Tai, jog rezultatas natūralusis skaičius, ar kad pošaknis neneigiamas?

Paskutinį kartą atnaujinta 2017-12-23

1

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.

0

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.

Paskutinį kartą atnaujinta 2017-12-23

1

Nesigauna man 2 ir 6, nesugalvoju sprendimų būdų.

0

Na manau nusipelnei antro uždavinio kodo:
#include <iostream>
#include <iomanip>
#include <math.h>

using namespace std;

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.

0

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.

Paskutinį kartą atnaujinta 2017-12-23

0

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.

0

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;
}

0

#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!

0

Norėdami rašyti žinutes privalote prisijungti!