Заранее ! 21.ниже записан рекурсивный алгоритм f. procedure f(n: integer); begin writeln(n); if n < 4 then begin f(n + 1); f(n + 3) end end чему равна сумма всех чисел, напечатанных на экране при выполнении вызова f(1)?
То же задание, только другой вывод? Ну, вот например, несколько вариантов (все выводят одно и то же- ну, если конечно на вход подавать число, указанное в задании, а не что попало :)
1) текстовый вариант (запрашиваемое число вводится сразу в текстовом виде):
4) число-текстовый вариант (ерунда какая то, типа если не очень то, что в первом варианте число вводится как текст) -цикл перевода сделан для разнообразия, и так то заменяется одним алгоритмом, переводящим всё число сразу- цел_в_лит(а), при этом и начальное значение т задавать не надо.
#include <bits/stdc++.h>
using namespace std;
int main() {
char a,b,r,p,s;
cin>>a>>b;
if(a==p and b==p){
cout<<p;
}else if(a==r and b==r){
cout<<r;
}else if(a==s and b==s){
cout<<s;
}else if(a==p and b==r){
cout<<s;
}else if(a==r and b==p){
cout<<s;
}else if(a==s and b==r){
cout<<p;
}else if(a==r and b==s){
cout<<p;
}else if(a==p and b==s){
cout<<r;
}else if(a==s and b==p){
cout<<r;
}
return 0;
}
Объяснение:
у меня там ошибка, не могу понять из за чего
То же задание, только другой вывод? Ну, вот например, несколько вариантов (все выводят одно и то же- ну, если конечно на вход подавать число, указанное в задании, а не что попало :)
1) текстовый вариант (запрашиваемое число вводится сразу в текстовом виде):
алг
нач
лит т
вывод "Введите четырёхзначное число",нс
ввод т
вывод т[1],"+",т[2],"=",Цел(т[1],0)+Цел(т[2],0),", "
вывод т[3],"*",т[4],"=",Цел(т[3],0)*Цел(т[4],0)
кон
2) числовой вариант (простой):
алг
нач
цел а,б,в,г,д
вывод "Введите четырёхзначное число",нс
ввод а
д:=mod(а,10);а:=div(а,10)
г:=mod(а,10);а:=div(а,10)
в:=mod(а,10);а:=div(а,10)
б:=mod(а,10)
вывод б,"+",в,"=",б+в,", ",г,"*",д,"=",г*д
кон
3) числовой вариант (так себе):
алг
нач
цел а,ц
цел таб т[1:4]
вывод "Введите четырёхзначное число",нс
ввод а
нц для ц от 1 до 4
т[ц]:=mod(а,10)
а:=div(а,10)
кц
вывод т[4],"+",т[3],"=",т[4]+т[3],", ",т[2],"*",т[1],"=",т[2]*т[1]
кон
4) число-текстовый вариант (ерунда какая то, типа если не очень то, что в первом варианте число вводится как текст) -цикл перевода сделан для разнообразия, и так то заменяется одним алгоритмом, переводящим всё число сразу- цел_в_лит(а), при этом и начальное значение т задавать не надо.
алг
нач
цел а
лит т=""
вывод "Введите четырёхзначное число",нс
ввод а
нц 4 раз
т:=символ(48+mod(а,10))+т
а:=div(а,10)
кц
вывод т[1],"+",т[2],"=",Цел(т[1],0)+Цел(т[2],0),", "
вывод т[3],"*",т[4],"=",Цел(т[3],0)*Цел(т[4],0)
кон
5) числовой вариант (непойми что и сбоку бантик):
алг
нач
цел а,б,в,н,ц
цел таб т[1:4]
вывод "Введите четырёхзначное число",нс
ввод а
нц для н от 1 до 4
а:=mod(а,10**(5-н))
т[н]:=div(а,10**(4-н))
в:=т[н]
ц:=div(н,4)
если 2*ц=н-2 то
вывод б,символ(43-ц),в,"=",б+в-(б+в-б*в)*ц,символ(44-12*ц)," " все
б:=т[н]
кц
кон