Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
rrrl
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 12
#1

Вычислить период последовательности - C++

10.03.2011, 11:30. Просмотров 2080. Ответов 14
Метки нет (Все метки)

Подскажите, как вычислить период последовательности. Как я понимаю, поместить сперва элементы в массив, и уже в нем считать период?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
...
long t, k, p, a, c, n=20;      // p - Xo,  t, k - Xn,
int i, g, m=8;                 // m -  кол-во элементов, которое надо найти
 
printf ("Vvedite Xo, A, C \n");
scanf ("%d", &p);
scanf ("%d", &a);
scanf ("%d", &c);
 
printf ("%d  ", p);           //печать нулевого элемента
 
//нахождение первого элемента:
if (p==0)
{
t=c;
printf ("%d  ", t);}
 
if (p>=1)
{
g=((a*inverse(p,n))+c);
t=g%n;
printf ("%d  ", t);}
 
// нахождение последующих элементов
for (i=2;i<m; i++)
{
if (t==0){
k=c;
printf ("%d  ", k);
t=k;}
 
if (t>=1){
g=((a*inverse(t,n))+c);
k=g%n;
printf ("%d  ", k);
t=k;}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2011, 11:30     Вычислить период последовательности
Посмотрите здесь:

Вычислить период колебания маятника длины L - C++
Я накидал следующую программу, но она не работает, что подскажете? #include &lt;iostream&gt; #include &lt;math.h&gt; /* run this program using...

Вычислить период колебаний контура по формуле Томпсона - C++
Друзья , прошу пожалуйста помочь с написанием кода. нужно произвести расчет по данной формуле T=2pi*√LC (формула для расчета периода...

Вычислить элементы последовательности - C++

Вычислить элементы последовательности - C++
Плиз помогите 2 задачи вторая ниже

Вычислить сумму последовательности - C++
Составьте программу вычисления значения выражения для данного натурального числа N: 1³ + 2³ + 3³ + … + N³.

Вычислить сумму последовательности - C++
Даны действительные числа а1, а2 , .Известно, что а1 &gt; 0 и что среди а2, а3 , .есть хотя бы одно отрицательное число . Пусть a1 , .an -...

Вычислить предел последовательности - C++
Вычислить предел последовательности {Yn} при n -&gt;к бесконечности , где Yn вычисляется по формуле: формула в вордовском файле. P.S....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
10.03.2011, 16:46     Вычислить период последовательности #2
Вычислить период последовательности можно по-разному в зависимости:
1) от вида последовательности (арифметическая, геометрическая конечная, геометрическая бесконечная);
2) начальных данных (первый элемент + общее к-во; последний элемент + общее к-во; два элемента с известными номерами).

А что у вас дано?
rrrl
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 12
10.03.2011, 17:03  [ТС]     Вычислить период последовательности #3
Спасибо за ответ.

Получается, что у меня на выходе псевдослучайная нелинейная конгруэнтная последовательность Эйхенаура-Лена с обращением.

Первый элемент у меня будет всегда "p", а количество элементов в последовательности m+2 (8+2), то есть 10.
IrineK
Заблокирован
10.03.2011, 17:28     Вычислить период последовательности #4
Что лишний раз доказывает необходимость формулировать задачу изначально корректно.

Добавлено через 21 минуту
Да, кстати, последовательность именуется в честь господ: Эйхенауэра-Лена.
rrrl
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 12
10.03.2011, 17:52  [ТС]     Вычислить период последовательности #5
На этом ваша помощь заканчивается?
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
10.03.2011, 18:22     Вычислить период последовательности #6
Цитата Сообщение от rrrl Посмотреть сообщение
псевдослучайная нелинейная конгруэнтная последовательность Эйхенаура-Лена с обращением.
О_о а что это такое??
rrrl
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 12
10.03.2011, 18:28  [ТС]     Вычислить период последовательности #7
Сам не знаю, так же как и не знают про это поисковики.
Такое ощущение, что преподаватель сам придумал это понятие

Гуру с++, подскажите уже как посчитать период последовательности. Заморачиваться не нужно. Просто нужно показать отчет, где будет присутствовать функция вычисления периода
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
10.03.2011, 18:32     Вычислить период последовательности #8
не, ну поисковики то знают, конечно.
только вот формулу нелинейного реккурентного соотношения не могу понять. эх... чему вас учат то? =)
rrrl
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 12
10.03.2011, 18:41  [ТС]     Вычислить период последовательности #9
поисковики знают как раз материалы преподавателя и из них выходящие

это криптография несчастная

вот ссылка на этот генератор (.doc) - http://dl.dropbox.com/u/3691865/gen_eyh_len.doc
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
10.03.2011, 18:45     Вычислить период последовательности #10
не могли бы вы пояснить вот этот момент

где xt^-1 – обратный к xt элемент по модулю N,
rrrl
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 12
10.03.2011, 18:54  [ТС]     Вычислить период последовательности #11
Цитата Сообщение от no0ker Посмотреть сообщение
не могли бы вы пояснить вот этот момент
У меня реализовано по этим исходникам (с использованием алгоритма Эвклида):
http://algolist.manual.ru/maths/teornum/nod.php#5
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
10.03.2011, 19:46     Вычислить период последовательности #12
правильно ли я понимаю?

чтобы найти обратный к X элемент по модулю Y, нужно решить уравнение
aX + bY = 1;
причем ответ будет коэфициент 'a'.
rrrl
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 12
10.03.2011, 19:54  [ТС]     Вычислить период последовательности #13
Цитата Сообщение от no0ker Посмотреть сообщение
правильно ли я понимаю?

чтобы найти обратный к X элемент по модулю Y, нужно решить уравнение
aX + bY = 1;
причем ответ будет коэфициент 'a'.
Ну что-то вроде того.

Но нам разве нужны эти знания для вычисления периода?

Как я вижу, нахождение периода:
Находим первый элемент последовательности - помещаем его в массив, находим второй - в массив его, далее находим остальные 6 элементов и помещаем их в массив.
И теперь работая с массивом находим как-то период - вот здесь мне и нужна помощь
no0ker
10.03.2011, 20:04
  #14

Не по теме:

ушел в ветку математики. что то аж интересно стало.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2011, 23:24     Вычислить период последовательности
Еще ссылки по теме:

Вычислить предел последовательности - C++
Задание в приложении. Добавлено через 18 часов 22 минуты Вычислить предел последовательности {Yn} при n , где Yn вычисляется по...

Вычислить сумму последовательности - C++
Даны действительные числа а1, а2 , .Известно, что а1 &gt; 0 и что среди а2, а3 , .есть хотя бы одно отрицательное число . Пусть a1 , .an -...

Вычислить произведение последовательности - C++
Вычислить значение конечного произведения. (формулу прикреплю) В чем ошибка? Программа работает нормально, но считает неправильно ...

Вычислить n-й член последовательности - C++
Помогите решить задачу, пожалуйста. Пусть а0= 1; аk = k*аk-1 + 1 / k, k = 1, 2, … . Для заданного натурального n получить а n-ое. ...

Вычислить элементы последовательности - C++
5. Вычислить элементы последовательности: a(0)=1; a(n)=a(n div 2)+a(n div 3), n&gt;1; Добавлено через 44 секунды P.S. помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
_AvengeR_
0 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 9
01.06.2011, 23:24     Вычислить период последовательности #15
что, так никто и не вычислил? у меня стоит щас та же самая проблема, только для линейного конгруэнтного генератора. пока что написал вот такую функцию, но знаю, что она считает не совсем верно((
C++
1
2
3
4
5
6
7
8
9
10
11
12
int GetPeriod (int arr[])
    {
        int n=0;
        int arr2[10];
        for (int i=0; i<=9; i++)
            arr2[i]=arr[i+6];
        for (int i=1; i<=54000; i++) 
            if (arr2[0]==arr[i+6])
                for (int j=0; j<=9; j++){
                    if(arr2[j]==arr[i+j+6]) n=n+1;
                    if(n==10) return(i);
                }
Yandex
Объявления
01.06.2011, 23:24     Вычислить период последовательности
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru