Примеры наших программ Matlab.
Напишем программу на языке MATLAB, которая проверяет, является ли число простым.
Если вам требуется написать подобную или любую другую программу в Matlab - пишите по контактам вверху страницы.
Код программы:
function isPrime = isprime(num)
% Функция isprime принимает на вход число num и возвращает
% true, если число простое, и false в противном случае.
% Проверка, является ли num целым числом.
if ~isnumeric(num) || ~isreal(num) || num ~= round(num)
error('Input must be a real integer');
end
% Проверка, является ли num больше 1.
if num <= 1
isPrime = false;
return;
end
% Проверка, является ли num равным 2 или 3.
if num == 2 || num == 3
isPrime = true;
return;
end
% Проверка, является ли num четным числом.
if rem(num, 2) == 0
isPrime = false;
return;
end
% Проверка, является ли num простым числом.
for i = 3:2:sqrt(num)
if rem(num, i) == 0
isPrime = false;
return;
end
end
% Если мы дошли до этой точки, то num является простым числом.
isPrime = true;
end
Как использовать эту функцию: после сохранения этого кода в файл с именем isprime.m, вы можете вызвать функцию isprime() с аргументом num, чтобы проверить, является ли число num простым.
Например:
Код программы:
>> isprime(7)ans = logical 1
Это означает, что 7 является простым числом. А вот другой пример:
Код программы:
>> isprime(9)ans = logical 0
Это означает, что 9 не является простым числом.
- 1. Принимается на вход число num.
- 2. Проверяется, является ли num целым числом с помощью условия ~isnumeric(num) || ~isreal(num) || num ~= round(num). Если num не является целым числом, генерируется исключение.
- 3. Проверяется, является ли num больше 1 с помощью условия num <= 1. Если num меньше или равно 1, то возвращается значение false, так как простые числа определены как натуральные числа, большие 1.
- 4. Проверяется, является ли num равным 2 или 3 с помощью условия num == 2 || num == 3. Если num равно 2 или 3, то возвращается значение true, так как 2 и 3 являются простыми числами.
- 5. Проверяется, является ли num четным числом с помощью условия rem(num, 2) == 0. Если num четное, то возвращается значение false, так как четные числа кроме числа 2 не являются простыми числами.
- 6. Если num прошло все проверки, то цикл for проверяет, является ли num простым числом. Цикл перебирает нечетные числа, начиная с 3 и заканчивая корнем из num, с шагом 2, потому что если num не делится на 2, то оно не будет делиться на любое другое четное число. Если num делится на какое-либо число в этом диапазоне, то возвращается значение false, так как num не является простым числом.
- 7. Если выполнение программы дошло до этой точки, то num является простым числом, и возвращается значение true.