Проанализируйте описание предложенных ниже ситуаций если ситуации прослеживаться нарушение правовых норм использования программного обеспечения укажите её номер когда таких ситуаций несколько ответ предоставлен предоставьте целыми числами через запятую 123
например, это можно сделать так:
UPD: изменено
#include <iostream>
#include <set>
#include <cmath>
using namespace std;
bool prime(int n){
for(int i = 2; i * i <= n; i++)
if(n % i == 0)
return false;
return true;
}
signed main() {
int n;
cin >> n;
set<int> ok;
ok.insert(2);
ok.insert(3);
ok.insert(5);
int sum = 0, cnt = 0,cur = 2;
while(cnt != n){
bool norm = true;
for(int i = 2; i * i <= cur; i++)
if(cur % i == 0 && ( ok.find(i) == ok.end() && prime(i)) || (cur % (n/i) == 0 && ok.find(n/i) == ok.end() && prime(n/i)))
norm = false;
if(norm){sum += cur; cnt++;}
cur++;
}
cout << sum;
}
--- PascalABC.NET 3.6.2 ---
procedure MatrTransform<T>(var Matr: Array[,] of T; TransformRule: T -> T; IndicesPredicate: (integer,integer) -> boolean := nil);
begin
if IndicesPredicate = nil then begin
for var i:= 0 to Matr.GetLength(0)-1 do
begin
for var k := 0 to Matr.GetLength(1)-1 do
begin
Matr[i,k] := TransformRule(Matr[i,k]);
end;
end;
end
else
for var i:= 0 to Matr.GetLength(0)-1 do
begin
for var k := 0 to Matr.GetLength(1)-1 do
begin
if (IndicesPredicate(i,k)) then
Matr[i,k] := TransformRule(Matr[i,k]);
end;
end;
end;
begin
var (n,m) := ReadInteger2('Enter dimensions of matrix: ');
var A := ReadMatrInteger(n,m);
A.Println;
MatrTransform(A, x -> x mod 7, (row, col) -> (row+col) mod 2 = 0);
println('');
A.Println;
end.
З.Ы Решение представлено для текстовой версии задачи, в которой говориться о трансформации двумерного массива
З.Ы 2 Generic-Процедура MatrTransform<> Может изменять элементы матрицы как обращая внимание на позицию элемента в матрице, так и нет. По этому в ней больше кода, чем вам, возможно, нужно.
З.Ы 3 MatrTransform<> Может работать с двумерными массивами любого типа данных