1)Если n всегда равно 100
var x: array [1..100] of real;
k,n:integer;
M,d: real;
begin
n:=100;
writeln('введите Xk');
for k:=1 to n do readln(x[k]);
for k:=1 to n do m:=m+x[k];
m:=m/n;
for k:=1 to n do d:=(x[k]-m)*(x[k]-m);
d:=sqrt(d/(n-1));
writeln('M=',m,' ','d=',d);
end.
2)При любых n>1
var x: array [1..100] of real;
k,n:integer;
M,d: real;
begin
writeln('введите n');
readln(n);
writeln('введите Xk');
for k:=1 to n do readln(x[k]);
for k:=1 to n do m:=m+x[k];
m:=m/n;
for k:=1 to n do d:=(x[k]-m)*(x[k]-m);
d:=sqrt(d/(n-1));
writeln('M=',m,' ','d=',d);
end.
#include <iostream>
#include <vector>
using namespace std;
void hanoi(int n, int f, int t) {
if (n == 0) {
return;
}
int v = 6 - f - t;
if (f == t - 1 || (f == 3 && t == 1)){
hanoi(n - 1, f, v);
cout << n << " " << f << " " << t << endl;
hanoi(n - 1, v, t);
}else{
hanoi(n - 1, f, t);
cout << n << " " << f << " " << v << endl;
hanoi(n - 1, t, f);
cout << n << " " << v << " " << t << endl;
hanoi(n - 1, f, t);
}
}
int main (){
int n;
cin >> n;
hanoi(n, 0, 0); //тут какая - то проблема при выводе, я не понял как выводить их. Если вдруг решите проблему, то напишите в комменты под задачей!!
}
Объяснение:
Мне тоже надо , кто сделал "Быстрое возведение в степень" и
"Количество разбиений на слагаемые" отправьте мне решения