Программа на паскале (программа - это один из способов записи алгоритма).
var n,p,i:integer;
begin
write('n = ');
readln(n);
p:=1;
for i:=1 to n do p:=p*i;
writeln('p = ',p);
end.
Пример:
n = 7
p = 5040
<em>// PascalABC.NET 3.2, сборка 1385 от 14.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
procedure NOD_NOK(a,b:integer; var NOD,NOK:integer);
begin
(var p,var q):=(a,b);
while q>0 do (p,q):=(q,p mod q);
NOD:=p; NOK:=a*b div NOD
end;
begin
var a,b,c,d:integer; Read(a,b);
NOD_NOK(a,b,c,d);
Writeln('НОД=',c,', НОК=',d)
end.
<u>Пример</u>
138 42
НОД=6, НОК=966
Пробегаем один массив, находим индекс максимального элемента
также и второй
меняем местами значения
Ответ:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "russian");
int a[100][100];
int n; int r;
cin >> n;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
a[i][j] = rand() % 10;
}
int sum[50];
for (int i = 0; i < n; i++)
{
sum[i] = 0;
for (int j = 0; j < n; j++)
{
if (i%2==0)
{
for (int k = j; k < n; k++)
{
int min = k;
for (int u = k + 1; u < n; u++)
if (a[i][u] < a[i][min])
{
min = u;
int buf = a[i][k];
a[i][k] = a[i][min];
a[i][min] = buf;
}
}
}
}
}
for (int i = 0; i < n; i++)
{
sum[i] = 0;
for (int j = 0; j < n; j++)
{
if (i % 2 == 0)
{
sum[i] += a[i][j];
}
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
if (i%2==1)
{
a[i][j] = sum[i-1];
}
}
for (int i = 0; i < n; i++)
{
cout << endl;
for (int j = 0; j < n; j++)
cout<<a[i][j]<< " ";
}
return 0;
}
Объяснение: