Pereiti prie turinio

Gucikai, Mucikai, Fucikai C++


Rekomenduojami pranešimai

Triju lygciu sistemos sprendima uzrasyt reikia ir tiek. 2g + 4m + f = 39; 2g + m + 5f = 19; 3g + m + 3f = 20; raides pagal vardus, o skaiciai kiekvienam kartuj bus skirtingi, bes esmes nekeicia. Wolframas toki ats ir duoda: http://www.wolframalpha.com/input/?i=2g+%2B+4m+%2B+f+%3D+39%3B+2g+%2B+m+%2B+5f+%3D+19%3B+3g+%2B+m+%2B+3f+%3D+20

Issispreskit ant popieriaus, tada viska paverskit i koda ir bingo. Zinoma, yra bukas sprendimo budas: trys ciklai cikle, kiekvienas didina skirtingu -iku skaiciu, dauginam is ranku/koju/akiu, viska sudedama ir tikrinam, ar rezultatas toks, koks turi but, bet sitas sprendimo budas bus neracionalus, jei sakykim paimsim po 500 kiekvieno -iko, tai bus 500^3 iteraciju :)

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose
#include <fstream>
#include <iomanip>
#include <iostream>
using namespace std;
const char CDfv[] = "Duomenys3_u4.txt";
const char CRfv[] = "Rezultatai3_u4.txt";
//-------------------------------------------------------------------
int main()
{
  int r, k, a;
  int rm, km, am, rf, kf, af, rg, kg, ag;
  int sg, sm, sf;
  ifstream fd(CDfv);
  ofstream fr(CRfv);
  fd >> r >> k >> a;
  fd >> rg >> kg >> ag;
  fd >> rm >> km >> am;
  fd >> rf >> kf >> af;
  for (int g = 1; g <= 500; g++)
     for (int m = 1; m <= 500; m++)
        for (int f = 1; f <= 500; f++)
           if ((rg * g + rm * m + rf * f == r) && (kg * g + km * m + kf * f == k) && (ag * g + am * m + af * f == a)) {
              sg = g; sm = m; sf = f;
           }
  fr << sg << " " << sm << " " << sf << endl;
  fd.close();
  fr.close();
  return 0;  }

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ai beje, uzduoti neparasyta, ka daryti, jei sprendiniu butu begalybe :) Aisku, turbut jie tokiu testu neleido toj olimpiadoj, bet sakykim kolega auksciau kur perrinkinejo viska, pasidarytu duomenis:

500 500 500
1 1 1
1 1 1
1 1 1

ir isvedinetu ne pati paskutini rezultata, o po kiekvieno rasto (fr << sg << " " ... - sita eilute ikeltu i if'a) tai labai grazu failiuka pamatytu, su labai labai daug sprendiniu (teoriskai turetu buti begalybe, bet kadangi tik naturalieji skaiciai, tai begalybes nebus ;)).

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ai beje, uzduoti neparasyta, ka daryti, jei sprendiniu butu begalybe :) Aisku, turbut jie tokiu testu neleido toj olimpiadoj, bet sakykim kolega auksciau kur perrinkinejo viska, pasidarytu duomenis:

500 500 500
1 1 1
1 1 1
1 1 1

ir isvedinetu ne pati paskutini rezultata, o po kiekvieno rasto (fr << sg << " " ... - sita eilute ikeltu i if'a) tai labai grazu failiuka pamatytu, su labai labai daug sprendiniu (teoriskai turetu buti begalybe, bet kadangi tik naturalieji skaiciai, tai begalybes nebus ;)).

Net ir teoriškai begalybės nebus, taigi tik trys ciklai sukasi baigtinį kartų kiekį, čia labai toli iki begalybės. :) Jei nori begalybės, tai ciklai turi būti begaliniai.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Net ir teoriškai begalybės nebus, taigi tik trys ciklai sukasi baigtinį kartų kiekį, čia labai toli iki begalybės. :) Jei nori begalybės, tai ciklai turi būti begaliniai.

As ten kalbejau is matematines puses apie teorini, begalybe sprendiniu ta lygciu sistema turi su mano nurodytais duomenimis.

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

As ten kalbejau is matematines puses apie teorini, begalybe sprendiniu ta lygciu sistema turi su mano nurodytais duomenimis.

Taigi užduotyje aiškiai parašytos ribos iki 500, ir apie kokias tu teorines begalybes kalbi? Jei būtų begalybė sprendinių programa nebaigtų darbo, programa perrenka visus įmanomus variantus (t.y tik 500^3) ir viskas, no infinity. Tavo duomenimis rezultatų failas didelis, bet tikrai ne begalinis. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taigi užduotyje aiškiai parašytos ribos iki 500, ir apie kokias tu teorines begalybes kalbi? Jei būtų begalybė sprendinių programa nebaigtų darbo, programa perrenka visus įmanomus variantus (t.y tik 500^3) ir viskas, no infinity. Tavo duomenimis rezultatų failas didelis, bet tikrai ne begalinis. :)

Trecia kart sakau, sitas uzdavinys yra paprastu paprasciausia triju lygciu sistema. Lygciu sistema:

a + b + c = 500
a + b + c = 500
a + b + c = 500

turi begalybe sprendiniu. As niekur ir nesakiau, kad programa tau begalybe duos, bet tik sakiau, kad tokia lygciu sistema turi begalybe sprendiniu. Tu kalbi tik is programavimo puses, kad ten begalybes negali but, kas yra tiesa, bet as aiskinu sio uzdavinio matematika. O matematika aiskinu del to, nes perrinkinet 500^3 variantu yra neracionalu, kai galima isspresti visiskai kitaip. Jei ta olimpiada buvo aukstesnio lygmens (ne mokyklos), tai toks sprendimas pagal visas idejas turejo pramust visus laiko ribojimus ir gaunasi snipstas.

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Trecia kart sakau, sitas uzdavinys yra paprastu paprasciausia triju lygciu sistema. Lygciu sistema:

a + b + c = 500
a + b + c = 500
a + b + c = 500

turi begalybe sprendiniu. As niekur ir nesakiau, kad programa tau begalybe duos, bet tik sakiau, kad tokia lygciu sistema turi begalybe sprendiniu. Tu kalbi tik is programavimo puses, kad ten begalybes negali but, kas yra tiesa, bet as aiskinu sio uzdavinio matematika. O matematika aiskinu del to, nes perrinkinet 500^3 variantu yra neracionalu, kai galima isspresti visiskai kitaip. Jei ta olimpiada buvo aukstesnio lygmens (ne mokyklos), tai toks sprendimas pagal visas idejas turejo pramust visus laiko ribojimus ir gaunasi snipstas.

Puikiai suprantu,bet a,b,c ∈ N, tad čia net minties apie begalybę negali būti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Puikiai suprantu,bet a,b,c ∈ N, tad čia net minties apie begalybę negali būti.

Tai as ta butent ir rasiau, kad naturalieji skaiciai ir begalybes vistiek

negausim. Kita vertus, kaip ta salyga mus gelbetu, jei ranka ant popieriaus sprestum ta sistema? Asmeniskai pats tai nezinau. Kalba uzvedziau del to, kad uzduoti nepasakyta, ka daryti tokiu atveju, kai pagal duomenis yra keli sprendiniai, arba kaip tuo atveju daug daugiau nei keli. Baigiu diskusija, programos sprendimas autoriu matyt tenkina.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...