Даны 2 числа, если первое больше второго, тогда записать в переменную С значение первого числа, если нет, второго числа и вывести его
Начало
А>B?
---ДА: C:=A
---НЕТ: С:=В
Вывести переменную С
Ответ:
procedure recursiveprime(num:integer);
var
i:integer;
begin
{тупая проверка *числа* на простоту - пытаемся поделить на все числа от 2 до *числа*/2)
i:=2;
while i<(num div 2) and (num mod i <> 0) do inc(i)
if i=num div 2 then println(num,"- простое!');
if num<60 then recursiveprime(num+1);
end;
begin
recursiveprime(4);
end.
Объяснение:
ну как-то так.. паскаля под рукой нет, лет 7 назад последний раз трогал дельфи
рекурсивная процедура которая вызывает саму себя со следующим числом если переданое ему число меньше 60
проверка на простоту - пытаемся поделить на все числа от 2 до половины проверяемого числа и проверяем остатки.
надеюсь мысль понятна
Ну в первой все просто по очереди выполняется, сначала х=3*3; затем
![x = 9 {}^{3 }](https://tex.z-dn.net/?f=x+%3D+9+%7B%7D%5E%7B3+%7D)
итоговый ответ 729.
со второй задачкой не совсем уверен, блок с кружком это инверсия?
Using System;
public class Test
{
public static int Main()
{
Random rnd=new Random(DateTime.Now.Millisecond); // иниц. датчика
int n=Convert.ToInt32(Console.ReadLine());
int[] Arr=new int[n];
for(int i=0; i<Arr.Length; i++) {
Arr[i]=rnd.Next(1,99);
Console.Write(Arr[i]+" ");
}
Console.WriteLine();
for(int i=0; i<Arr.Length; i++) {
if(Arr[i]%2==0) {
int j=(int)Math.Round((double)Math.Sqrt(Arr[i]));
if(j*j==Arr[i]) Console.Write(Arr[i]+" ");
}
}
Console.WriteLine();
return 0;
}
}
1. увеличится на 88.
39*8= 312
28*8=224
312-224=88