Определить, каких чисел в произвольной последовательности больше: кратных 5 или кратных 7? Размер последовательности вводит пользователь программы. Составьте программу, отнимающую из заданного пользователем целого чётного положительного числа его половину до тех пор, пока результат не станет нечётным числом. Программа должна посчитать и вывести количество итераций цикла.
написать программу на питоне
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
// 1) Написать программу,которая вводит таблицу квадратов первых 10 чисел.
for (int i = 1; i <= 10; i++)
{
Console.WriteLine(i + "^2=" + Math.Pow(i, 2));
}
Console.ReadKey();
// 2) Найти все натуральные числа а,b,с, из интервала от 1 до 10 для которых выполняется равенство а^2+b^2=c^2
for (int a = 1; a <= 10; a++)
{
for (int b = 1; b <= 10; b++)
{
for (int c = 1; c <= 10; c++)
{
if (Math.Pow(a, 2) + Math.Pow(b, 2) == Math.Pow(c, 2))
Console.WriteLine("a=" + a + "; b=" + b + "; c="+c);
}
}
}
Console.ReadKey();
}
}
}
const
n=4;
Var
f:file of char;
i,j,counter,FileLen:integer;
s:string;
val:char;
ar:array[1..n] of integer;
coms:array[1..n] of integer;
begin
for i:=1 to n do
coms[i]:=i;
assign(f,'input.csv');
reset(f);i:=1; //столбец матрицы
counter:=1; //количество прочитанных элементов
FileLen:=filesize(f); //количество элементов в файле (включая разделители)
read(f,val); //на случай, если первая строка пуста
repeat
while (ord(val)<>10) and (ord(val)<>13) do //каждая строка заканчивается символами 10 и 13, а элементы разделяются ;
begin
if (val<>';') and (ord(val)<>10) and (ord(val)<>13) then
begin
ar[i]+=strtoint(val); //вводим значение из ячейки в переменную суммы read(f,val); //cчитываем следующее значение
inc(counter); //увеличиваем количество прочитанных
end
else
begin
read(f,val); //пропускаем разделитель
inc(counter);
end;
end;
if (ord(val)=10) and (counter<FileLen) then //в конце каждой строки стоят символы с кодами 10 и 13, пропускаем их
begin
read(f,val);
inc(counter);
end;
if (ord(val)=13) and (counter<FileLen) then //когда дошли до конца строки
begin
inc(i);
read(f,val); //читаем с новой строки
inc(counter);
end;
until(counter=FileLen); //читаем пока количество элементов в файле не сравняется с количеством прочитанных
close(f);
for i:=1 to n-1 do //когда лень писать быструю сортировку
for j:=i+1 to n do
if ar[i]<ar[j] then
begin
counter:=ar[i];
ar[i]:=ar[j];
ar[j]:=counter;
counter:=coms[i];
coms[i]:=coms[j];
coms[j]:=counter;
end;
for i:=1 to n do
writeln(i,'st place-',coms[i],' command -',ar[i],' points');
end.