Правильный ответ 4.
Приведем все слагаемые к степени двойки. 2^4096+2^11-2^8.
2^4096 в двоичном представлении будет выглядеть как 1 и 4096 нулей. Прибавление к нему 2^11 добавит единицу в 12 разряд, если считать слева направо. Вычитание 2^8 даст 3 единицы, проэкспериментируйте 100000000000-100000000 = 11100000000. Итого 4 единицы.
Const n=25;
var a,b:array[1..n] of integer;
i,j,t:integer;
begin
Randomize;
writeln('Результаты:');
for i:=1 to n do
begin
a[i]:=random(31)+10;
write(a[i]:3);
end;
writeln;
for i:=1 to n do b[i]:=i;
for i:=1 to n-1 do
for j:=1 to n-i do
if a[b[j]]>a[b[j+1]] then
begin
t:=b[j]; b[j]:=b[j+1]; b[j+1]:=t;
end;
writeln('Победитель:');
writeln('min = ',a[b[1]],' его номер = ',b[1]);
j:=1;
while b[j]<>4 do j:=j+1;
writeln('Результат российского лыжника: ', j,' место');
end.
Пример:
Результаты:
38 19 22 11 16 40 22 18 21 16 15 33 38 34 39 21 19 10 25 15 40 13 34 27 37
Победитель:
min = 10 его номер = 18
Результат российского лыжника: 2 место
PS. Места, которые заняли спортсмены с одинаковыми результатами, в программе будут различны.
Вот так правильно и тебе там нужно объявить M_PI
#include <iostream>#include <cmath>using namespace std;int main(){ int x; float A; cout<<"Введите х="; cin>>x; if (x >= M_PI){ A=0; cout<<"y=0"; } else if(M_PI>x && x>=0) { A=sin(x); cout<<"y=sin(x)"; } else if (0>x && x>=-2){ A=0; cout<<"y="; } else if (x<=-2) { A = pow((x+2),2); cout <<"y="; }
return 0;}