Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Slagalica
- {
- class Resavac
- {
- public long najbl;
- public int u, pok, zad;
- public int l;
- public long[] niz = new long[946687];
- public bool[] uzet = new bool[7];
- public string w;
- public bool lpl;
- public string Calculate(int target, int target10, int target100, int hint1, int hint2, int hint3, int hint4, int hint5, int hint6)
- {
- Resavac prog = new Resavac();
- prog.zad = target * 100 + target10 * 10 + target100;
- prog.niz[1] = hint1;
- prog.niz[2] = hint2;
- prog.niz[3] = hint3;
- prog.niz[4] = hint4;
- prog.niz[5] = hint5;
- prog.niz[6] = hint6;
- for (int i = 1; i < 7; i++)
- {
- if (prog.niz[i] == prog.zad)
- {
- return (prog.zad.ToString());
- }
- }
- prog.pok = 7;
- prog.w = "";
- bool success = false;
- for (prog.u = 1; prog.u < 209407; prog.u++)
- {
- if (prog.uradi(prog.u))
- {
- success = true;
- break;
- }
- }
- if (!success)
- {
- prog.najbl = 0;
- if (!prog.resi_6())
- {
- if (!prog.resi_3_3())
- {
- prog.resi_2_2_2();
- }
- }
- }
- return prog.najbl.ToString() + " = " + prog.w;
- }
- long abs2(long x)
- {
- if (x > 0) return x;
- else return -x;
- }
- string num2str2(long y)
- {
- //string ret = "";
- //while (y > 0)
- //{
- // ret = Strings.Chr((int)(y % 10 + 48)) + ret;
- // y = y / 10;
- //}
- //return ret;
- return y.ToString();
- }
- void inc_uzet()
- {
- for (int ss = 1; ss < 7; ss++)
- uzet[ss] = false;
- }
- void oznaci_po_redu(long s)
- {
- l = 0;
- while (s > 0)
- {
- l++;
- if (!uzet[l]) s--;
- }
- uzet[l] = true;
- }
- void dekodiraj(long i)
- {
- if (i < 7)
- uzet[i] = true;
- else if (i < 127)
- {
- dekodiraj((i - 7) / 4 / 5 + 1);
- oznaci_po_redu((i - 7) / 4 - (i - 7) / 4 / 5 * 5 + 1);
- }
- else if (i < 2047)
- {
- dekodiraj((i - 127) / 4 / 4 + 7);
- oznaci_po_redu((i - 127) / 4 - (i - 127) / 4 / 4 * 4 + 1);
- }
- else if (i < 25087)
- {
- dekodiraj((i - 2047) / 4 / 3 + 127);
- oznaci_po_redu((i - 2047) / 4 - (i - 2047) / 4 / 3 * 3 + 1);
- }
- else if (i < 209407)
- {
- dekodiraj((i - 25087) / 4 / 2 + 2047);
- oznaci_po_redu((i - 25087) / 4 - (i - 25087) / 4 / 2 * 2 + 1);
- }
- else
- {
- dekodiraj((i - 209407) / 4 + 25087);
- oznaci_po_redu(1);
- }
- }
- void dekodiraj1(long i)
- {
- long a;
- if (i < 7)
- {
- uzet[i] = true;
- w = w + num2str2(niz[i]);
- lpl = false;
- }
- else
- {
- if (i < 127)
- {
- a = (i - 7) / 4 / 5 + 1;
- dekodiraj1(a);
- oznaci_po_redu((i - 7) / 4 - 5 * (a - 1) + 1);
- }
- else if (i < 2047)
- {
- a = (i - 127) / 4 / 4 + 7;
- dekodiraj1(a);
- oznaci_po_redu((i - 127) / 4 - 4 * (a - 7) + 1);
- }
- else if (i < 25087)
- {
- a = (i - 2047) / 4 / 3 + 127;
- dekodiraj1(a);
- oznaci_po_redu((i - 2047) / 4 - 3 * (a - 127) + 1);
- }
- else if (i < 209407)
- {
- a = (i - 25087) / 4 / 2 + 2047;
- dekodiraj1(a);
- oznaci_po_redu((i - 25087) / 4 - 2 * (a - 2047) + 1);
- }
- else
- {
- a = (i - 209407) / 4 + 25087;
- dekodiraj1(a);
- oznaci_po_redu(1);
- }
- switch ((i + 1) % 4)
- {
- case 0:
- {
- w = w + '+' + num2str2(niz[l]);
- lpl = true;
- break;
- }
- case 1:
- {
- if (niz[a] > niz[l])
- w = w + '-' + num2str2(niz[l]);
- else
- {
- if (!lpl)
- w = num2str2(niz[l]) + '-' + w;
- else
- w = num2str2(niz[l]) + "-(" + w + ")";
- }
- lpl = true;
- break;
- }
- case 2:
- {
- if (lpl)
- w = "(" + w + ")*" + num2str2(niz[l]);
- else
- w = w + '*' + num2str2(niz[l]);
- lpl = false;
- break;
- }
- case 3:
- {
- if (niz[a] > niz[l])
- {
- if (lpl)
- w = "(" + w + ")/" + num2str2(niz[l]);
- else
- w = w + '/' + num2str2(niz[l]);
- }
- else
- {
- if (i < 127)
- w = num2str2(niz[l]) + '/' + w;
- else
- w = num2str2(niz[l]) + "/(" + w + ")";
- }
- lpl = false;
- break;
- }
- }
- }
- }
- void ispisi()
- {
- najbl = zad;
- //Console.WriteLine(zad);
- //Console.WriteLine(w);
- //Console.ReadKey();
- }
- bool kraj()
- {
- if (niz[pok] == zad)
- {
- inc_uzet();
- dekodiraj1(pok);
- ispisi();
- return true;
- }
- return false;
- }
- bool uradi(long k)
- {
- int j;
- inc_uzet();
- dekodiraj(k);
- for (j = 1; j < 7; j++)
- {
- if (!uzet[j])
- {
- niz[pok] = niz[k] + niz[j];
- if (kraj())
- return true;
- pok++;
- niz[pok] = abs2(niz[k] - niz[j]);
- if (kraj())
- return true;
- pok++;
- niz[pok] = niz[k] * niz[j];
- if (kraj())
- return true;
- pok++;
- niz[pok] = 0;
- if (niz[k] % niz[j] == 0)
- niz[pok] = niz[k] / niz[j];
- else if (niz[k] > 0)
- if (niz[j] % niz[k] == 0)
- niz[pok] = niz[j] / niz[k];
- if (kraj())
- return true;
- pok++;
- }
- }
- return false;
- }
- bool resi_6()
- {
- for (u = 1; u < 946687; u++)
- if (abs2(niz[u] - zad) < abs2(najbl - zad))
- {
- najbl = niz[u];
- pok = u;
- }
- inc_uzet();
- dekodiraj1(pok);
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- return false;
- }
- bool resi_3_3()
- {
- long v;
- string w1;
- bool[] uzet1 = new bool[7];
- for (u = 7; u < 2046; u++)
- for (v = u + 1; v < 2047; v++)
- {
- inc_uzet();
- dekodiraj(v);
- for (pok = 1; pok < 7; pok++)
- uzet1[pok] = uzet[pok];
- inc_uzet();
- dekodiraj(u);
- if (!((uzet[1] && uzet1[1]) || (uzet[2] && uzet1[2]) || (uzet[3] && uzet1[3]) || (uzet[4] && uzet1[4]) || (uzet[5] && uzet1[5]) || (uzet[6] && uzet1[6])))
- {
- if (abs2(niz[u] + niz[v] - zad) < abs2(najbl - zad))
- {
- najbl = niz[u] + niz[v];
- w = "";
- inc_uzet();
- dekodiraj1(v);
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w = w + '+' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2(abs2(niz[u] - niz[v]) - zad) < abs2(najbl - zad))
- {
- najbl = abs2(niz[u] - niz[v]);
- w = "";
- inc_uzet();
- if (niz[u] > niz[v])
- {
- dekodiraj1(v);
- if (lpl)
- w1 = '(' + w + ')';
- else
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- }
- else
- {
- dekodiraj1(u);
- if (lpl)
- w1 = '(' + w + ')';
- else
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- }
- w = w + '-' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2(niz[u] * niz[v] - zad) < abs2(najbl - zad))
- {
- najbl = niz[u] * niz[v];
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w1 = '(' + w + ')';
- else
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w = "(" + w + ")*" + w1;
- else
- w = w + '*' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if ((niz[v] > 0) && (niz[u] % niz[v] == 0))
- if (abs2(niz[u] / niz[v] - zad) < abs2(najbl - zad))
- {
- najbl = niz[u] / niz[v];
- w = "";
- inc_uzet();
- dekodiraj1(v);
- w1 = '(' + w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w = "(" + w + ")/" + w1;
- else w = w + '/' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- else
- if ((niz[u] > 0) && (niz[v] % niz[u] == 0))
- if (abs2(niz[v] / niz[u] - zad) < abs2(najbl - zad))
- {
- najbl = niz[v] / niz[u];
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w1 = '(' + w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w = "(" + w + ")/" + w1;
- else
- w = w + '/' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- }
- }
- return false;
- }
- bool resi_2_2_2()
- {
- int v, v1;
- string w1;
- bool[] uzet1 = new bool[7];
- for (u = 7; u < 127; u++)
- for (v = 7; v < 127; v++)
- {
- inc_uzet();
- dekodiraj(v);
- for (pok = 1; pok < 7; pok++)
- uzet1[pok] = uzet[pok];
- inc_uzet();
- dekodiraj(u);
- if (!((uzet[1] && uzet1[1]) || (uzet[2] && uzet1[2]) || (uzet[3] && uzet1[3]) || (uzet[4] && uzet1[4]) || (uzet[5] && uzet1[5]) || (uzet[6] && uzet1[6])))
- {
- for (pok = 1; pok < 7; pok++)
- uzet1[pok] = uzet[pok] || uzet1[pok];
- for (v1 = 1; v1 < 127; v1++)
- {
- inc_uzet();
- dekodiraj(v1);
- if (!((uzet[1] && uzet1[1]) || (uzet[2] && uzet1[2]) || (uzet[3] && uzet1[3]) || (uzet[4] && uzet1[4]) || (uzet[5] && uzet1[5]) || (uzet[6] && uzet1[6])))
- {
- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â //prvu dvojicu sabiramo
- Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if (abs2(niz[u] + niz[v] + niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = niz[u] + niz[v] + niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- w1 = w + '+' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w = w + '+' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2(abs2(niz[u] + niz[v] - niz[v1]) - zad) < abs2(najbl - zad))
- {
- najbl = abs2(niz[u] + niz[v] - niz[v1]);
- w = "";
- inc_uzet();
- if (niz[u] + niz[v] > niz[v1])
- {
- dekodiraj1(v1);
- if (lpl)
- w1 = '(' + w + ')';
- else w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- w1 = w + '-' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w = w + '+' + w1;
- }
- else
- {
- dekodiraj1(v);
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w1 = '(' + w + '+' + w1 + ')';
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- w = w + '-' + w1;
- }
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2((niz[u] + niz[v]) * niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = (niz[u] + niz[v]) * niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- if (lpl)
- w1 = '(' + w + ')';
- else w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- w1 = w + ")*" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w = '(' + w + '+' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if ((niz[v1] > 0) && ((niz[u] + niz[v]) % niz[v1] == 0))
- if (abs2((niz[u] + niz[v]) / niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = (niz[u] + niz[v]) / niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- if (v1 < 7)
- w1 = w;
- else
- w1 = '(' + w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(v);
- w1 = w + ")/" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w = '(' + w + '+' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- else if ((niz[u] + niz[v] > 0) && (niz[v1] % (niz[u] + niz[v]) == 0))
- if (abs2(niz[v1] / (niz[u] + niz[v]) - zad) < abs2(najbl - zad))
- {
- najbl = niz[v] / (niz[u] + niz[v]);
- w = "";
- inc_uzet();
- dekodiraj1(v);
- w1 = w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w1 = '(' + w + '+' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- if (lpl)
- w = "(' + w + ')/" + w1;
- else
- w = w + '/' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2(abs2(niz[u] - niz[v]) * niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = abs2(niz[u] - niz[v]) * niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- if (lpl)
- w1 = '(' + w + ')';
- else w1 = w;
- w = "";
- inc_uzet();
- if (niz[u] > niz[v])
- {
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + '))*" + w1;
- else
- w1 = w + ")*" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- }
- else
- {
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + '))*" + w1;
- else w1 = w + ")*" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- }
- w = '(' + w + '-' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if ((niz[v1] > 0) && (abs2(niz[u] - niz[v]) % niz[v1] == 0))
- if (abs2(abs2(niz[u] - niz[v]) / niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = abs2(niz[u] - niz[v]) / niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- if (v1 < 7)
- w1 = w;
- else w1 = '(' + w + ')';
- w = "";
- inc_uzet();
- if (niz[u] > niz[v])
- {
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + '))/" + w1;
- else
- w1 = w + ")/" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- }
- else
- {
- dekodiraj1(u);
- if (lpl)
- w1 = "(' + w + '))/" + w1;
- else
- w1 = w + ")/" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- }
- w = '(' + w + '-' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- else if ((abs2(niz[u] - niz[v]) > 0) && (niz[v1] % abs2(niz[u] - niz[v]) == 0))
- if (abs2(niz[v1] / abs2(niz[u] - niz[v]) - zad) < abs2(najbl - zad))
- {
- najbl = niz[v1] / abs2(niz[u] - niz[v]);
- w = "";
- inc_uzet();
- if (niz[u] > niz[v])
- {
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + '))";
- else
- w1 = w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(u);
- }
- else
- {
- dekodiraj1(u);
- if (lpl)
- w1 = "(' + w + '))";
- else
- w1 = w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(v);
- }
- w1 = '(' + w + '-' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- if (lpl)
- w = "(' + w + ')/" + w1;
- else
- w = w + '/' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2(niz[u] * niz[v] + niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = niz[u] * niz[v] + niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + ')+" + w1;
- else
- w1 = w + '+' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w = "(' + w + ')*" + w1;
- else
- w = w + '*' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2(abs2(niz[u] * niz[v] - niz[v1]) - zad) < abs2(najbl - zad))
- {
- najbl = abs2(niz[u] * niz[v] - niz[v1]);
- w = "";
- inc_uzet();
- if (niz[u] * niz[v] > niz[v1])
- {
- dekodiraj1(v1);
- if (lpl)
- w1 = '(' + w + ')';
- else
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + ')-" + w1;
- else
- w1 = w + '-' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w = "(' + w + ')*" + w1;
- else
- w = w + '*' + w1;
- }
- else
- {
- dekodiraj1(v);
- if (lpl)
- w1 = '(' + w + ')';
- else
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w1 = "(' + w + ')*" + w1;
- else
- w1 = w + '*' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- w = w + '-' + w1;
- }
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2(niz[u] * niz[v] * niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = niz[u] * niz[v] * niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- if (lpl)
- w1 = '(' + w + ')';
- else
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + ')*" + w1;
- else
- w1 = w + '*' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w = "(' + w + ')*" + w1;
- else
- w = w + '*' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if ((niz[v1] > 0) && (niz[u] * niz[v] % niz[v1] == 0))
- if (abs2(niz[u] * niz[v] / niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = niz[u] * niz[v] / niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- if (v1 < 7)
- w1 = w;
- else
- w1 = '(' + w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + ')/" + w1;
- else
- w1 = w + '/' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w = "(' + w + ')*" + w1;
- else
- w = w + '*' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- else if ((niz[u] * niz[v] > 0) && (niz[v1] % (niz[u] * niz[v]) == 0))
- if (abs2(niz[v1] / (niz[u] * niz[v]) - zad) < abs2(najbl - zad))
- {
- najbl = niz[v] / (niz[u] * niz[v]);
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + '))";
- else
- w1 = w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w1 = "((' + w + ')*" + w1;
- else
- w1 = '(' + w + '*' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- if (lpl)
- w = "(' + w + ')/" + w1;
- else
- w = w + '/' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if ((niz[v] > 0) && (niz[u] % niz[v] == 0))
- {
- if (abs2(niz[u] / niz[v] + niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = niz[u] / niz[v] + niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- w1 = "(' + w + ')+" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w = "(' + w + ')/" + w1;
- else
- w = w + '/' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2(abs2(niz[u] / niz[v] - niz[v1]) - zad) < abs2(najbl - zad))
- {
- najbl = abs2(niz[u] / niz[v] - niz[v1]);
- w = "";
- inc_uzet();
- if (niz[u] / niz[v] > niz[v1])
- {
- dekodiraj1(v1);
- if (lpl)
- w1 = '(' + w + ')';
- else
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- w1 = "(' + w + ')-" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w = "(' + w + ')/" + w1;
- else
- w = w + '/' + w1;
- }
- else
- {
- dekodiraj1(v);
- w1 = '(' + w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(u);
- if (lpl)
- w1 = "(' + w + ')/" + w1;
- else
- w1 = w + '/' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- w = w + '-' + w1;
- }
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- }
- else if ((niz[u] > 0) && (niz[v] % niz[u] == 0))
- {
- if (abs2(niz[v] / niz[u] + niz[v1] - zad) < abs2(najbl - zad))
- {
- najbl = niz[v] / niz[u] + niz[v1];
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w1 = "(' + w + ')+" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w = "(' + w + ')/" + w1;
- else
- w = w + '/' + w1;
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- if (abs2(abs2(niz[v] / niz[u] - niz[v1]) - zad) < abs2(najbl - zad))
- {
- najbl = abs2(niz[v] / niz[u] - niz[v1]);
- w = "";
- inc_uzet();
- if (niz[v] / niz[u] > niz[v1])
- {
- dekodiraj1(v1);
- if (lpl)
- w1 = '(' + w + ')';
- else
- w1 = w;
- w = "";
- inc_uzet();
- dekodiraj1(u);
- w1 = "(' + w + ')-" + w1;
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w = "(' + w + ')/" + w1;
- else
- w = w + '/' + w1;
- }
- else
- {
- dekodiraj1(u);
- w1 = '(' + w + ')';
- w = "";
- inc_uzet();
- dekodiraj1(v);
- if (lpl)
- w1 = "(' + w + ')/" + w1;
- else
- w1 = w + '/' + w1;
- w = "";
- inc_uzet();
- dekodiraj1(v1);
- w = w + '-' + w1;
- }
- if (najbl == zad)
- {
- ispisi();
- return true;
- }
- }
- }
- }
- }
- }
- }
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement