1) Var n,m,max,min:integer; Begin write('Введите число: '); readln(n); min:=9; max:=0; while n>0 do begin m:=n mod 10; if m<min then min:=m; if m>max then max:=m; n:=n div 10; end; writeln('Максимальное число: ',max); writeln('Минимальное число: ',min); End. 2) var i,count: integer; n,s:string; begin writeln('Введите число: '); readln(s); writeln('Введите цифру: '); readln(n); for i:=1 to length(s) do if(s[i]=n)then count:=count+1; writeln('Количество раз, когда встречается цифра = ',count); end.
Задача на динамическое программирование. Советую почитать поподробнее на эту тему в интернете. Подобные задачи для изучения: платная лестница, кузнечик, последовательность Фибоначчи. #include <iostream> #include <cmath> using namespace std; int main() { int n; cin >> n; int height[n]; for(int i=0; i<n; i++) cin >> height[i]; int energy[n]; for(int i=1; i<n; i++) energy[i] = energy[i-1] + abs(height[i]-height[i-1]); cout << height[n-1]; return 0; }