2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 15, 16, 17, 18, 19, 20, 21 ... 54  След.

А вам пакет PARI/GP интересен?
Да 83%  83%  [ 58 ]
Нет 6%  6%  [ 4 ]
Не уверен(а) 11%  11%  [ 8 ]
Всего голосов : 70
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 15:35 
Заслуженный участник


20/08/14
11766
Россия, Москва
Soul Friend в сообщении #1329958 писал(а):
натуральные числа $n$ до заданного $x$. И надо чтобы вне зависимости от простоты числа $n$ выдавалось следующее за числом $n$ простое число.
nextprime(n+1) именно его и выдаст. Или приведите контрпример когда это не так.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 15:37 
Аватара пользователя


12/10/16
637
Almaty, Kazakhstan
Код:
nextprime(6)=7;
nextprime(7)=7;

А надо чтобы выдавало
Код:
nextprime(6)=7;
nextprime(7)=11;

Поэтому и надо вводить if().

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 15:40 
Заслуженный участник


20/08/14
11766
Россия, Москва
Soul Friend
А чему равно $n$ для этих строк кода? 5 и 6? Тогда выдача правильная. Таки запишите через $n$:
Код:
n=5;nextprime(n+1)
n=6;nextprime(n+1)
n=7;nextprime(n+1)
И только если найдёте ошибку - спорьте.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 15:41 


05/09/16
12058
Soul Friend в сообщении #1329961 писал(а):
А надо чтобы выдавало
Код:
nextprime(6)=7;
nextprime(7)=11;

Поэтому и надо вводить if().

Вот вам новая функция, называется SoulFriend_nextprime
Код:
? SoulFriend_nextprime(x)=nextprime(floor(x)+1);
? SoulFriend_nextprime(6)
%1 = 7
? SoulFriend_nextprime(7)
%2 = 11

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 16:00 
Аватара пользователя


12/10/16
637
Almaty, Kazakhstan

(Оффтоп)

Dmitriy40 в сообщении #1329962 писал(а):
И только если найдёте ошибку - спорьте.

Я не спорил, а недопонимал. Ошибался, не принял в расчёт что 2 тоже простое. Всё работает как часы на детонаторе.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 17:50 
Аватара пользователя


12/10/16
637
Almaty, Kazakhstan

(Оффтоп)

А в прочем, у меня было:
Код:
nextprime(f(x))

где $f(x)$ функция от х, и
Код:
Soul_friend=nextprime(n+1)

не прокатит, нужно проверять значение функции на простоту, отсюда и дополнительное условие if.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 18:00 


05/09/16
12058
Soul Friend в сообщении #1329986 писал(а):
не прокатит

У меня прокатывает:
Код:
? SoulFriend_nextprime(x)=nextprime(floor(x)+1);
? SoulFriend_function(x)=x^2;
? SoulFriend_function_of_function(x)=SoulFriend_function(x)+28;
? SoulFriend_nextprime(SoulFriend_function_of_function(5))
%1 = 59


-- 01.08.2018, 18:11 --

Soul Friend в сообщении #1329986 писал(а):
где $f(x)$ функция от х, и
Код:
Soul_friend=nextprime(n+1)

не прокатит

Вы кстати исказили код зачем-то. Я же писал по-другому:
Код:
? SoulFriend_nextprime(x)=nextprime(floor(x)+1)
Может вы и не видите разницы но цитируйте пож-ста точно. А лучше -- проверяйте сами "прокатит" или "не прокатит".

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 18:18 
Заслуженный участник


20/08/14
11766
Россия, Москва
Soul Friend
Как уже трижды сказал wrest очень даже прокатит и ничего проверять не надо:
Код:
nextprime(floor(f(x))+1)
К тому же Вы говорили что аргумент у вас натуральный, т.е. f(x) выдаёт только натуральные значения, а значит floor() и не нужен (хотя и особо не мешает).
Может Вы всё же будете сначала сами проверять свои примеры ... Или показывать точный код примера выдающего ошибку (а не "nextprime(7)=7") ...

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 18:40 
Аватара пользователя


12/10/16
637
Almaty, Kazakhstan
Dmitriy40
wrest
Да, вы абсолютно правы, это я не так объясняю. Есть две формулы, в зависимости от того простое число или нет применяется та или иная формула.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 18:43 
Заслуженный участник


20/08/14
11766
Россия, Москва
Soul Friend в сообщении #1330005 писал(а):
Есть две формулы, в зависимости от того простое число или нет применяется та или иная формула.
Код:
if(isprime(x),f1(y),f2(z))
Для больших чисел (больше скажем миллиарда лучше сразу $10^{19}$, до этого как оказалось они примерно равны по скорости) вместо isprime лучше использовать более быструю ispseudoprime (именно она используется внутри nextprime). До $10^{19}$ они гарантированно дают одинаковый результат. А для ещё сильно больших чисел isprime будет выполняться днями и годами минуты и часы, а ispseudoprime секунды. Видел даже где-то утверждение что вообще не известно ни одного примера ошибки ispseudoprime.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 18:44 
Аватара пользователя


12/10/16
637
Almaty, Kazakhstan
Dmitriy40
Вооо, вот это.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение01.08.2018, 19:04 


05/09/16
12058
Soul Friend в сообщении #1330007 писал(а):
Вооо, вот это.

А причем тут вообще было nextprime тогда? :facepalm:

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение02.08.2018, 23:06 


05/09/16
12058
Как можно сохранить пользовательскую функцию средствами самой pari/gp чтобы в следующей сессии загрузить?
Допустим имеется foo()=здесь много кода в одну строку
Как сохранить это foo() в какой-то файл и как потом загрузить его?

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение02.08.2018, 23:28 
Заслуженный участник


20/08/14
11766
Россия, Москва
Есть команда \r file, она прочитает файл как будто его весь ввели с клавиатуры.
И есть файл gprc.txt (правда не знаю куда его лучше положить, посмотрите в доке, раздел 2.14.2 The gprc location.), в котором можно задать начальные настройки при старте.
Ну или как совсем уж вариант, запускать PARI с параметром имени файла, который и будет выполнен. И если в нём нет долгих циклов и команды выхода, то PARI вернётся к терминальному режиму.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение02.08.2018, 23:30 


05/09/16
12058
Dmitriy40
Это как прочитать. А как сохранить?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 810 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19, 20, 21 ... 54  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: skobar


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group