Помощь - Поиск - Пользователи - Календарь
Полная версия: непонел функции являится ли n первым числом
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
maksimla
написана функция,которая проверяет дано чесло n(n>=2)есть первичным
function Pirminis (n: integer): boolean;
var j: integer;
begin
if n = 2
then Pirminis := true
else if not odd(n)
then pirminis := false
else begin
j := ... ;
while (n mod j <> 0) ... (sqr (j) <= n) do
j := j + 2;
pirminis := sqr(j) ... n
end
end;
вместо точек надо вставить нужную операцию.

непонял я что это за первичное или первое число обесните пожалста
volvo
Цитата
что это за первичное или первое число

Судя по исходнику - простое... Что надо добавить вместо многоточия - подумай сам...
maksimla
я непонял что за первичное число и как его узнать является ли оно первичным и зачем это хочу только понять а вставить думаю что и сам вставлю когда поиму или объяснят
volvo
Блин... Ты читать что-ли не умеешь? Я ж написал: ПРОСТОЕ ЧИСЛО!!! Знаешь, что такое простое? То, которое делится только на 1 и на само себя...
andriano
volvo, не кипятись. Разве не видно, что русский язык для человека не является родным?

maksimla, по-русски это называется "простое число", по-английски "prime number". Думаю, достаточно для того, чтобы найти нужную информацию.
volvo
andriano, не умничай. Я не знаю, какой язык является родным для автора вопроса, но Google -> pirminis первой ссылкой выдает статью в Вики: http://lt.wikipedia.org/wiki/Pirminis_skai%C4%8Dius

Даже если я не знаю этого языка, той статьи вполне достаточно, чтобы понять о чем речь...

Так что если бы автор ХОТЕЛ искать, то... Сам понимаешь...
maksimla
да я в другой стране живу в Литве но родной язык русский и мне бывает сложна понять или запутываюсь я извините меня что я не очень понимаю бывает такое
спасибо за ссылку мне помогла ссылка я точна незнал таких цифр я думал что надо было найти первый элемент в
строке вот сделал но не совсем
Код

function Pirminis (n: integer): boolean;
var j: integer;
begin
if n = 2
then Pirminis := true
else if not odd(n)
then pirminis := false
else begin
j := 3;
while (n mod j <> 0) or (sqr (j) <= n) do
j := j + 2;
pirminis := sqr(j) ... n;
end;

вот незнаю что тут написать нада поможете
pirminis := sqr(j) ... n;
maksimla
ну я всеравно немогу найти эти числа в последнем надо вставить знак и все
а почему j возводится в квадрат????
andriano
Цитата(maksimla @ 15.04.2008 9:01) *
а почему j возводится в квадрат????
Если число составное, оно имеет минимум два делителя (кроме 1 и самого себя), причем хотя бы один из них меньше или равен корню из исследуемого числа. Поэтому если среди чисел меньших корня делитель не обнаружен, дальше проверять нет смысла.
maksimla
вот спасибо решил я задачу мне там основался только знак поставить и все вот задача решенная
Код
function Pirminis (n: integer): boolean;
var j: integer;
begin
if n = 2
then Pirminis := true
else if not odd(n)
then pirminis := false
else begin
j := 3;
while (n mod j <> 0) and (sqr (j) <= n) do
j := j + 2;
pirminis := sqr(j) > n
end
end;

смешно да и только что недадумался сперва поставить знак в последнем предложении lol.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.