В школе задали код и нужно будет его объяснить, кто написать комментарии к коду #include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
int n, max_i = 0, OnePositive;
float sum = 0, c;
cout > n;
OnePositive = n;
cout > d[i];
{}
if (fabs(d[i])>fabs(d[max_i])) { max_i = i; }
if (d[i]>0 && OnePositive == n) OnePositive = i;
}
for (int i = OnePositive + 1; i > a >> b;
while (i = a && fabs(d[i]) n2; j--)
n2++;
}
else i++;
}
cout a && d[i] < b) cout << d[i] << endl;
for (int i = 0; i < n; i++)
if ((d[i] < 0) && d[i] != 0) cout << d[i] << endl;
delete[] d;
system("PAUSE");
return 0;
}
const
BMW=1700000;
var
s,x:longint;
n:byte;
begin
Randomize;
n:=0; s:=0;
Writeln('Месяц Сумма взятки Накоплено');
while s<BMW do begin
x:=Random(150001); s:=s+x; Inc(n);
Writeln(n:4,x:12,s:15)
end;
Writeln('Потребуется месяцев: ',n)
end.
Тестовое решение:
Месяц Сумма взятки Накоплено
1 131598 131598
2 40502 172100
3 90384 262484
4 33945 296429
5 50956 347385
6 137449 484834
7 32050 516884
8 68439 585323
9 1187 586510
10 70707 657217
11 145871 803088
12 143780 946868
13 54179 1001047
14 39314 1040361
15 30297 1070658
16 49163 1119821
17 63244 1183065
18 128362 1311427
19 87284 1398711
20 80851 1479562
21 71269 1550831
22 139577 1690408
23 78690 1769098
Потребуется месяцев: 23
1. 45 / 9 = 101101₂ / 1001₂ - деление производим "в столбик"
Результат приведен во вложении. он равен 101₂
2. Вычисляем (101₂)². Обычное умножение в столбик.
1 0 1
х 1 0 1
------------
1 0 1
+1 0 1
-------------
1 1 0 0 1
3. 36 - 14 = 100100₂ - 1110₂ - и тут вычитаем "в столбик"
1 0 0 1 0 0
- 1 1 1 0
----------------
1 0 1 1 0
4. 10110₂ х 2 = 10110₂ х 10₂ = 101100₂ (просто приписали нолик справа)
5. 11001₂ - 101100₂ = - (101100₂ - 11001₂) - снова "в столбик"
1 0 1 1 0 0
- 1 1 0 0 1
----------------
1 0 0 1 1
Получаем -10011₂
ответ: -10011₂