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/ |