Проверьте программу на питоне. заранее ! ! 20 ! у меня получается она. только на 40%. скажите, что не так? вот программа, которую я составил: b = int(a = 0while true: a+=1n=as=awhile true: sn=0while n> 0: sn+=n%10n = n // 10n = sns+=snif n< 10: breakif s> =b: breakif s> b: print(-1)else: print(a)
var
a:array[1..5,1..5] of integer;
i,j,sum,min,n:Integer;
begin
min:=25;
for i:=1 to 5 do
begin
Writeln('Введите места ', i,' спортсмена');
for j:=1 to 5 do
Read(a[i,j]);
end;
for i:=1 to 5 do
begin
for j:=1 to 5 do
sum:=sum+a[i,j];
if sum<min then
begin
min:=sum;
n:=i;
sum:=0;
end;
end;
Writeln(n, ' спортсмен лучший');
end.
2.
var
a:array[1..20,1..20] of integer;
sum:array[1..20] of integer;
i,j,n,k:integer;
begin
Writeln('Введите количество команд');
Readln(n);
For i:=1 to n do
for j:=1 to n do
if i = j then a[i,j]:=0 else
begin
Writeln('Введите количество очков, заработаных ', i ,' командой в матче поротив ', j, ' команды');
Read(a[i,j]);
end;
For i:=1 to n do
for j:=1 to n do
sum[i]:= sum[i]+ a[i,j];
for i:=1 to n do
if sum[i]>(3*(n-1)/2) then k:=k+1;
Writeln(k ,' команд(а,ы) имеют больше побед, чем поражений');
end.
3.
var
a:array[1..20,1..20] of integer;
sum:array[1..20] of integer;
i,j,n:integer;
begin
Writeln('Введите количество команд');
Readln(n);
For i:=1 to n do
for j:=1 to n do
if i = j then a[i,j]:=0 else
begin
Writeln('Введите количество очков, заработаных ', i ,' командой в матче поротив ', j, ' команды');
Read(a[i,j]);
end;
For i:=1 to n do
for j:=1 to n do
sum[i]:= sum[i]+ a[i,j];
for i:=1 to n do
if sum[i] = 3*(n-1) then Write(i, ' ');
Write(' команд(а,ы чемпионат без поражений!');
end.
4.
var
a:array[1..20,1..20] of integer;
sum:array[1..20] of integer;
i,j,n,k:integer;
begin
Writeln('Введите количество команд');
Readln(n);
For i:=1 to n do
for j:=1 to n do
if i = j then a[i,j]:=0 else
begin
Writeln('Введите количество очков, заработаных ', i ,' командой в матче поротив ', j, ' команды');
Read(a[i,j]);
end;
For i:=1 to n do
for j:=1 to n do
if a[i,j]<>1 then
sum[i]:= sum[i]+ a[i,j];
for i:=1 to n do
if sum[i] > (3*(n-1))/2 then k:=k+1;
Write(k,' команд выиграли более половину игр');
end.
def summ(m):
s = 0
while m > 0:
s += m % 10
m = m // 10
return s
from random import random
N = 10
a = [0] * N
for i in range(N):
a[i] = int(random() * 40) + 10
print('%4d' % a[i], end='')
print()
for i in range(N - 1): # количество переборов 9
for j in range(N - i - 1): # при первом переборе i=0
if summ(a[j]) > summ(a[j + 1]):
a[j], a[j + 1] = a[j + 1], a[j]
for i in range(N):
print('%4d' % a[i], end='')
print()
for i in range(N):
print('%4d' % summ(a[i]), end='')
print()
pascal
const
N = 10;
var
arr: array[1..N] of integer;
i, j: byte;
a: integer;
function sum (n: integer): byte;
begin
sum := 0;
while n > 0 do begin
sum := sum + n mod 10;
n := n div 10;
end;
end;
begin
randomize;
for i := 1 to N do begin
arr[i] := random(20)+10;
write (arr[i]:3);
end;
writeln;
for i := 1 to N-1 do // количество проходов по массиву
for j := 1 to N-i do // количество сравнений в каждом проходе
if sum(arr[j]) > sum(arr[j+1]) then begin
a := arr[j];
arr[j] := arr[j+1];
arr[j+1] := a;
end;
for i := 1 to N do
write(arr[i]:3);
writeln;
for i := 1 to N do
write(sum(arr[i]):3);
writeln;
end.