Задания типа 1, 2 решаются с знаний систем счисления и степеней:
а) Приводим все степени к одному основанию (равному основанию системы счисления, в которой потом нужно записать результат). Последнее слагаемое тоже нужно разложить на сумму/разность нескольких степеней (например, или ).
б) Представляем, как выглядит каждое из этих чисел в данной системе счисления (как единица с количеством нулей после неё, равным показателю степени, например ).
в) Делаем сложение, а затем- вычитание чисел (оба раза- от большего (по модулю) числа к меньшему). Не нужно полностью писать числа, нужно посчитать, сколько появится нулей/единиц между таким то и таким то разрядом, если сложить/вычесть одно из другого (тут нужно понимать, как происходит сложение/вычитание в той или иной системе счисления).
Пример №1:
В двоичной системе эти слагаемые выглядят как:
единица и 4028 нулей (то есть, ),
единица и 2015 нулей (то есть, ),
единица и 3 нуля (то есть ),
единица без нулей (то есть, ).
Складываем первые два слагаемых (представляем в уме). Получится следующее двоичное число:
1 (2012 нулей) 1 (2015 нулей) ₂
Итого, тут пока только две единицы.
Затем, вычитаем отсюда число 1000₂ Получим вот что:
1 (2012 нулей) 0 (2011 единиц) 1000₂
Итого, тут уже 2013 единиц.
Далее, вычитаем отсюда 1₂ Получаем вот что:
1 (2012 нулей) 0 (2011 единиц) 0111₂
Итого, тут получилось ровно 2015 единиц.
Пример №2:
В двоичной системе эти слагаемые выглядят как:
1) единица и 12072 нуля,
2) единица и 3210 нулей,
3) единица и 1024 нуля,
4) единица и 7 нулей (то есть ),
5) единица и 1 нуль (то есть, ).
Складываем большие положительные слагаемые (№ 1 и 3). Получим:
Если сложить это в двоичном виде, то число разрядов останется такое же, как было в большем слагаемом (оно в двоичном виде выглядело как единица и 1026 нулей, т.е. всего 1027 разрядов).
Каждые три двоичных разряда дают один восьмеричный. Разбивают число начиная от десятичной запятой. То есть, можно поделить 1026 / 3 = 342 восьмеричных разряда, и ещё один разряд (идущий в начале числа)- там уже не обязательно иметь три разряда, всё равно он даст на выходе один восьмеричный разряд. Итого 342 + 1 = 343 восьмеричных разряда.
Другими словами, можно взять общее число двоичных разрядов (1027), поделить на три и если число получилось дробное- то округлить вверх (т.е. не обычное округление, а всегда вверх, с избытком).
#include <iostream>
using namespace std;
int main()
{
double s, s1, s2, s3;
cout << "1 тенге (KZT) = 0.19 RUB" << "\n";
cout << "1 тенге (KZT) = 0.002743 EUR" << "\n";
cout << "1 тенге (KZT) = 0.002995 USD" << "\n";
cout << "Введите сумму в тенге:", cin >> s, cout << "\n";
s1 = s*0.19;
s2 = s*0.002743;
s3 = s*0.002995;
cout << s << " тенге (KZT) = " << s1 << " RUB, " << s2 << " EUR, " << s3 << " USD" << "\n";
return 0;
}
Пример:
1 тенге (KZT) = 0.19 RUB
1 тенге (KZT) = 0.002743 EUR
1 тенге (KZT) = 0.002995 USD
Введите сумму в тенге:20000
20000 тенге (KZT) = 3800 RUB, 54.86 EUR, 59.9 USD
2 a)
#include <iostream>
using namespace std;
int main()
{
int a = 5;
int b = 4;
int c;
c = a;
a = b;
b = c;
cout << "a = " << a << ", b = " << b << "\n";
return 0;
}
Результат:
a = 4, b = 5
2 b)
#include <iostream>
using namespace std;
int main()
{
int a = 5;
int b = 4;
a = a+b;
b = a-b;
a = a-b;
cout << "a = " << a << ", b = " << b << "\n";
return 0;
}
a = 4, b = 5
3)
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
a = 5;
b = a+3;
c = a+b;
cout << "a = " << a << ", b = " << b << ", c = " << c << "\n";
return 0;
}
Результат:
a = 5, b = 8, c = 13
4)
#include <iostream>
using namespace std;
int main()
{
int p1=10;
int p2=15;
int p3=12;
int k1, k2, k3, s;
cout << "k1 = ", cin >> k1, cout << "\n";
cout << "k2 = ", cin >> k2, cout << "\n";
cout << "k3 = ", cin >> k3, cout << "\n";
s = p1*k1+p2*k2+p3*k3;
cout << "Общая стоимость покупок = " << s << "\n";
return 0;
}
k1 = 2
k2 = 5
k3 = 3
Общая стоимость покупок = 131
Задания типа 1, 2 решаются с знаний систем счисления и степеней:
а) Приводим все степени к одному основанию (равному основанию системы счисления, в которой потом нужно записать результат). Последнее слагаемое тоже нужно разложить на сумму/разность нескольких степеней (например, или ).
б) Представляем, как выглядит каждое из этих чисел в данной системе счисления (как единица с количеством нулей после неё, равным показателю степени, например ).
в) Делаем сложение, а затем- вычитание чисел (оба раза- от большего (по модулю) числа к меньшему). Не нужно полностью писать числа, нужно посчитать, сколько появится нулей/единиц между таким то и таким то разрядом, если сложить/вычесть одно из другого (тут нужно понимать, как происходит сложение/вычитание в той или иной системе счисления).
Пример №1:
В двоичной системе эти слагаемые выглядят как:
единица и 4028 нулей (то есть, ),
единица и 2015 нулей (то есть, ),
единица и 3 нуля (то есть ),
единица без нулей (то есть, ).
Складываем первые два слагаемых (представляем в уме). Получится следующее двоичное число:
1 (2012 нулей) 1 (2015 нулей) ₂
Итого, тут пока только две единицы.
Затем, вычитаем отсюда число 1000₂ Получим вот что:
1 (2012 нулей) 0 (2011 единиц) 1000₂
Итого, тут уже 2013 единиц.
Далее, вычитаем отсюда 1₂ Получаем вот что:
1 (2012 нулей) 0 (2011 единиц) 0111₂
Итого, тут получилось ровно 2015 единиц.
Пример №2:
В двоичной системе эти слагаемые выглядят как:
1) единица и 12072 нуля,
2) единица и 3210 нулей,
3) единица и 1024 нуля,
4) единица и 7 нулей (то есть ),
5) единица и 1 нуль (то есть, ).
Складываем большие положительные слагаемые (№ 1 и 3). Получим:
1 (11047 нулей) 1 (1024 нуля) ₂
Итого, тут пока только две единицы.
Затем, вычитаем отсюда слагаемое № 2 Получим:
(8862 единиц) (2185 нулей) 1 (1024 нуля) ₂
Итого, тут уже 8863 единицы.
Далее, вычитаем 10000000₂ Получаем вот что:
(8862 единиц) (2185 нулей) 0 (1016 единиц) 10000000₂
Итого, тут сейчас 9879 единиц.
Далее, вычитаем отсюда 10₂ Получаем вот что:
(8862 единиц) (2185 нулей) 0 (1016 единиц) 01111110₂
Итого, тут получилось ровно 9884 единицы.
Задание № 3:
Если сложить это в двоичном виде, то число разрядов останется такое же, как было в большем слагаемом (оно в двоичном виде выглядело как единица и 1026 нулей, т.е. всего 1027 разрядов).
Каждые три двоичных разряда дают один восьмеричный. Разбивают число начиная от десятичной запятой. То есть, можно поделить 1026 / 3 = 342 восьмеричных разряда, и ещё один разряд (идущий в начале числа)- там уже не обязательно иметь три разряда, всё равно он даст на выходе один восьмеричный разряд. Итого 342 + 1 = 343 восьмеричных разряда.
Другими словами, можно взять общее число двоичных разрядов (1027), поделить на три и если число получилось дробное- то округлить вверх (т.е. не обычное округление, а всегда вверх, с избытком).