banjalukaforum.com
https://banjalukaforum.com/

C++ baterija?
https://banjalukaforum.com/viewtopic.php?f=18&t=61912
Stranica 1 od 1

Autoru:  AIV [ 27 Okt 2012, 16:26 ]
Tema posta:  C++ baterija?

Ko mi moze rijesiti sljedeci zadatak:

Imamo bateriju od 220V. Potrebno je pomocu baterija od a i b volti napraviti tu bateriju od 220V, ako znamo da se baterije a i b vezu redno. Ispisati sve moguce kombinacije i naci kombinaciju koja ce imati najmanje baterija a i najmanje baterija b.

Autoru:  Hristov [ 27 Okt 2012, 17:33 ]
Tema posta:  Re: C++ baterija?

Nadji koji je veci broj od a i b, neka to bude recimo a. Onda trazis faktor x tako da bude x*a % b = 0. Broj a baterija je jednak (220 - x*a)/a, a broj b baterija je jednak x*a/b

Autoru:  AIV [ 27 Okt 2012, 18:19 ]
Tema posta:  Re: C++ baterija?

Hvala puno :)

Autoru:  AIV [ 27 Okt 2012, 20:16 ]
Tema posta:  Re: C++ baterija?

Sta ne valja? Radi samo do a=5 i b=5

Kod:
#include <iostream>

using namespace std;

int main()
{

   int a,b; cout<<"Voltage of the first battery:"; cin>>a; cout<<"Voltage of the second battery:"; cin>>b;
   int imax,imin;
   int max,min;
   (a>=b)? max=a,min=b: max=b,min=a;

   int spaces=220/min;

   for(int i=1;i<=spaces;i++)
   {
      if(((i*max % min)==0) && ((220-i*max)>0))
      {
         if((double(220-double(i)*double(max)/max)) == ((220-i*max)/max))
         {
         imax=(220-i*max)/max;
         imin=(i*max)/min;
         if(imax*max+imin*min==220)
         {
            (a>=b)? cout<<imax<<"  "<<imin<<endl: cout<<imin<<"  "<<imax<<endl;
         }
         }
      }
   }

   system("PAUSE");
   return EXIT_SUCCESS;

}

Autoru:  AIV [ 27 Okt 2012, 20:23 ]
Tema posta:  Re: C++ baterija?

Aaa kontam
if((double(220-double(i)*double(max)/max)) == ((220-i*max)/max))
do toga je, trenutno smisljam bolji uslov xD

Autoru:  AIV [ 27 Okt 2012, 20:29 ]
Tema posta:  Re: C++ baterija?

Hristov je napisao:
Nadji koji je veci broj od a i b, neka to bude recimo a. Onda trazis faktor x tako da bude x*a % b = 0. Broj a baterija je jednak (220 - x*a)/a, a broj b baterija je jednak x*a/b

Ali ne valja to uopste, primjer a=6, b=2, x=1; 1*6%2 = 0, onda (220-1*6)/6 uopste nije cijeli broj xD

Autoru:  AIV [ 27 Okt 2012, 20:37 ]
Tema posta:  Re: C++ baterija?

.........................................................

Autoru:  AIV [ 27 Okt 2012, 20:45 ]
Tema posta:  Re: C++ baterija?

Mislim da sad radi za sve slucajeve:

Kod:
#include <iostream>

using namespace std;

int main()
{

   int a,b; cout<<"Voltage of the first battery:"; cin>>a; cout<<"Voltage of the second battery:"; cin>>b;
   int imax,imin;
   int max,min;
   if(a>=b)
   {
   max=a, min=b;
   }
   else
   {
   max=b,min=a;
   }
   
   int spaces=220/min;
   int x=1;
   for(int i=1;i<=spaces;i++)
   {
      if(((x*max % min)==0) && ((220-x*max)>=0))
      {
         imax=(220-x*max)/max;
         imin=(220-imax*max)/min;
         if(imax*max+imin*min==220)
         {
            (a>=b)? cout<<imax<<"  "<<imin<<endl: cout<<imin<<"  "<<imax<<endl;
         }
      }
      x+=1;
   }

   system("PAUSE");
   return EXIT_SUCCESS;

}

Autoru:  Hristov [ 27 Okt 2012, 22:11 ]
Tema posta:  Re: C++ baterija?

Kod:
#include <iostream>

using namespace std;

int main(int argc, char *argv[]) {
   int a, b;
   cout << "Voltage of the first battery:"; cin >> a; cout << "Voltage of the second battery:"; cin >> b;
   int max = a > b? a: b;
   for(int x = 1; x <= 220/max; x++) {
        if(!((220 - x*a) % b))
            cout << x << "*" << a << " + " << ((220 - x*a)/b) << "*" << b << "\n";
        if(!((220 - x*b) % a))
            cout << x << "*" << b << " + " << ((220 - x*b)/a) << "*" << a << "\n";
   }
   return 0;
}


Dotjeraj malo ako ti ovako ne odgovara.

Stranica 1 od 1 Sva vremena su u UTC [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/