<em><u>Трассировка вызовов, печатаемых значений и подсчет суммы</u></em>
var
s:integer;
procedure F(n:integer);
begin
Write(' F(',n,') ');
Write(n,' '); s:=s+n;
if n<6 then begin
Write(n); s:=s+n;
F(n+1);
F(n+2);
F(2*n)
end
end;
begin
s:=0;
F(1);
Writeln(#13#10,s)
end.
<em><u>Результат выполнения программы:</u></em>
F(1) 1 1 F(2) 2 2 F(3) 3 3 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(3) 3 3 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(2) 2 2 F(3) 3 3 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8
530
В 195- 4 единицы
В 173-4 единицы
25(10)=11001(2)
82(10)=1010010(2)
263(10)=407(8)
На будущее-в любом компьютере есть калькуляторы, которые это легко вычисляют. Через вид поставить "Программист" и вуоля.
Во всех случаях результат будет выглядеть как 10.
Поскольку максимальная цифра в системе с основанием N будет равна N-1.
В двоичной системе максимальная цифра 1.
В троичной 2, и т.д. - в девятеричной 8.
А для записи числа N нужно задействовать следующий разряд.
В двоичной 1+1=10
В троичной 1+2 =10
и т.д.
В девятеричной 1+8 = 10
Задаешь значения k и S ноль(количество и сумма) .Сделай цикл с условием, если b делить на 5 равно нолю то k равно k=+1.
Ещё такое же условие, но s=s+b
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
double x,y,z;
cout << "Введите 3 числа через пробел: ";
cin >> x >> y >> z;
if (x<0)
{
x=pow(x,2);
}
else if (x>0)
{
x=pow(x,3);
}
if (y<0)
{
y=pow(y,2);
}
else if (y>0)
{
y=pow(y,3);
}
if (z<0)
{
z=pow(z,2);
}
else if (z>0)
{
z=pow(z,3);
}
cout << "Вывод: " << x << " " << y << " " << z << endl;
return 0;
}