Нужно решить задачу, 9 класс в Python =( очень заранее В массиве из 2N булевых элементов определить процент истинных значений в первой и второй половине данного массива
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018 // Внимание! Если программа не работает, обновите версию!
function IsPrime(n:integer):boolean; begin if n<4 then Result:=True else begin var found:=(n mod 2=0); var p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p=0); p+=2 end; Result:=not found end end;
begin var a:=ArrRandom(56,1000,9999); a.Println; Writeln('Сумма простых равна ',a.Where(t->IsPrime(t)).Sum) end.
Есть вопросы пиши в личку Паскаль var x, s, a: real; //описание переменных вещественного типа i: integer; //описание переменных целого типа
begin readln(x); ввод переменной x через клавиатуру
a := x; переменной a присваивается знчение переменной x s := a; переменной s присваивается знчение переменной a
for i := 2 to 13 do //цикл for выполняется пока переменная i не станет больше 13 if i mod 2 = 1 then begin если i mod 2 = 1 истино то выполняется блок программы ниже a := a * (-1) * x * x / ((i - 1) * i); s := s + a; end;
// Внимание! Если программа не работает, обновите версию!
function IsPrime(n:integer):boolean;
begin
if n<4 then Result:=True
else begin
var found:=(n mod 2=0);
var p:=3;
while (not found) and (sqr(p)<=n) do
begin found:=(n mod p=0); p+=2 end;
Result:=not found
end
end;
begin
var a:=ArrRandom(56,1000,9999); a.Println;
Writeln('Сумма простых равна ',a.Where(t->IsPrime(t)).Sum)
end.
Пример
9439 5453 9513 6006 9543 9665 1503 5172 1466 6841 1537 5088 2768 7795 6462 7780 6567 1956 5669 6214 3307 7069 2462 8404 3407 7707 6307 1121 8854 7039 9663 6162 8362 7376 5578 8784 4688 2745 1361 6457 6234 2320 8270 9441 2244 8934 4081 8649 9684 4137 8865 1179 7488 9410 5828 3369
Сумма простых равна 44132
Паскаль
var
x, s, a: real; //описание переменных вещественного типа
i: integer; //описание переменных целого типа
begin
readln(x); ввод переменной x через клавиатуру
a := x; переменной a присваивается знчение переменной x
s := a; переменной s присваивается знчение переменной a
for i := 2 to 13 do //цикл for выполняется пока переменная i не станет больше 13
if i mod 2 = 1 then begin если i mod 2 = 1 истино то выполняется блок программы ниже
a := a * (-1) * x * x / ((i - 1) * i);
s := s + a;
end;
writeln(s); вывод переменой s
end.