var
a: array [1..5,1..6] of integer;
i,j,sum,ip,jp:integer;
flag:boolean;
begin
flag:=false;
sum:=0;
for i:=1 to 5 do
begin
for j:= 1 to 6 do
begin
a[i,j]:=random(31)-10;
write(a[i,j]:4);
if a[i,j] mod 2 = 0 then
sum:=sum+a[i,j];
if not flag then
if abs(a[i,j] mod 2) = 1 then
begin
flag:=true;
ip:=i;
jp:=j;
end;
end;
writeln;
end;
a[ip,jp]:=sum;
writeln;
for i:=1 to 5 do
begin
for j:=1 to 6 do
write(a[i,j]:4);
writeln;
end;
end.
Поделитесь своими знаниями, ответьте на вопрос:
PYTHON C++ Ровно К обменов Даны два числа n и k. Вывести перестановку из n чисел (n чисел от 1 до n без повторений) такую, чтобы сортировка пузырьком по возрастанию на соответствующем массиве сделала ровно k обменов. Если возможных ответов несколько — выведите любой. Входные данные Даны натуральное число n (n≤ 100) и целое неотрицательное k. Гарантируется, что для всех наборов тестовых данных решение существует. Выходные данные Выведите искомую перестановку в одной строке. Числа разделяйте пробелами.
1)
#include <iostream>
using namespace std;
int main()
{
int g, k, n=64;
for (g=0; g<=n; g++)
{
for (k=0; k<=n/2; k++)
{
if (2*g + 4*k == n)
{
printf ("Gycu - %d. \nKpoluk - %d.\n\n", g, k);
}
}
}
return 0;
}
2)#include <iostream>
using namespace std;
long double fact(int N)
{
if(N < 0)
return N;
if (N == 0)
return 1;
else
return N * fact(N - 1);
}
int main()
{
int N, M;
setlocale(0,"");
cout << "N=";
cin >> N;
cout<<"M=";
cin>>M;
cout<<"N!-M!=" << fact(N)-fact(M) << endl << endl;
return 0;
}