Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
10 / 10 / 0
Регистрация: 21.11.2009
Сообщений: 34

Ацкий препод и генератор псевдослучайных чисел

02.01.2010, 22:11. Показов 1080. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал генератор псевдослучайных чисел но плюс к этому преподу нужна еще и: "проверка случайности чисел", которую он давал в лекции вот он:
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
#include <stdio.h>
 unsigned Xi=5, m=0x5A97;
 
// generator
unsigned URandom(void)
{
unsigned R;
asm     {
    mov     AX,Xi
    mov     DX,m
    mul     DX
    mov     Xi,AX
    shr     AX,1
    shr     AX,1
    mov     R,AX
    }
return R;
}
 void main(void) { int i,Test[16];
unsigned j,r;
// obnulit schetchik
for(j=0;j<16;j++) Test[j]=0;
// podschet chisel
for(i=0;i<1000;i++)
  {
  // sgenerirovat chislo
  r=URandom();
  // opredelenie otreska
  j=r/1024; Test[j]++;
  }
printf(" nomer chislo\n");
printf("otezok popdeniy\n");
for(j=0;j<16;j++) printf("  %2u       %3d\n",j,Test[j]);
printf("\n");
}
1 вопрос: что это и для чего это нужно:
C
1
2
3
4
5
6
7
8
9
asm     {
    mov     AX,Xi
    mov     DX,m
    mul     DX
    mov     Xi,AX
    shr     AX,1
    shr     AX,1
    mov     R,AX
    }
2 вопрос: каким образом это все проверяет случайность чисел?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.01.2010, 22:11
Ответы с готовыми решениями:

Генератор псевдослучайных чисел
Написать генератор псевдослучайных чисел по алгоритму f(n) = f(n-1) + f(n-2) + f(n-3) ( f0 = f1 = f2 = 1) r = fn mod 211. ( 0 - 210) ...

Написать генератор псевдослучайных чисел
Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; Подсчитать частоты попадания в каждый из интервалов длиной...

Генератор псевдослучайных чисел (дробь)
Ребята помогите пожалуйста. Поставленная задача: Написать генератор псевдослучайных чисел используя rand(), равномерно распределенных...

3
1 / 1 / 2
Регистрация: 02.01.2010
Сообщений: 39
02.01.2010, 22:20
помогите написать программу которая будет выводить случайные числа в заданном деапазоне !!
0
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
02.01.2010, 23:34
Цитата Сообщение от tromb.92 Посмотреть сообщение
...
1 вопрос: что это и для чего это нужно:
C
1
2
3
4
5
6
7
8
9
asm     {
    mov     AX,Xi
    mov     DX,m
    mul     DX
    mov     Xi,AX
    shr     AX,1
    shr     AX,1
    mov     R,AX
    }
...
Если его написать на С, то оно выглядеть примерно так будет:
C
1
2
3
4
5
6
7
unsigned URandom(void)
{
unsigned R;
Xi=(Xi*m)%256;
R=Xi >> 2;
return R;
}
На асме код более короткий (вместо использования операции деления просто не учитывается старшая часть произведения).
0
1 / 1 / 2
Регистрация: 02.01.2010
Сообщений: 39
03.01.2010, 00:32
функция принимает число и проверяет случайное ли оно или нет !!!
C++
1
2
3
4
5
6
7
8
9
10
bool is_prime(int n)
{
    if (n <= 1)
        return false;
 
    for (int j=2;j *j <= n; j++)
         if (n%j== 0) return false;
 
    return true;
}
возврашает да или нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.01.2010, 00:32
Помогаю со студенческими работами здесь

Создать генератор псевдослучайных чисел
Народ помогите создать генератор псевдослучайных чисел а то я нуб(( запутался с ней совсем не как не выходит. И уже 3 учебника перебрал ((....

Написать генератор псевдослучайных чисел по алгоритму
при написании программы /*Написать генератор псевдослучайных чисел по алгоритму f(n) = f(n-1) + f(n-2) + f(n-3) + f(n-4) ( f0 =...

Генератор псевдослучайных чисел (ошибка при компиляции)
Код: #include &lt;stdio.h&gt; #include &lt;math.h&gt; #define LIMIT 30 main() {

Написать генератор псевдослучайных чисел, равномерно распределенных на интервале [0, 0.5]
Написать генератор псевдослучайных чисел, равномерно распределенных на интервале (использовать rand()). Подсчитать частоты попадания в...

Подсчитать частоту каждого числа генератор псевдослучайных чисел при выборке 100000
Написать генератор псевдослучайных чисел по алгоритму f(n) = f(n-1) + f(n-2) + f(n-3) mod 239; f(0) = f(1) = f(2) = 30. Подсчитать частоту...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru