С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
savzhik
2 / 2 / 0
Регистрация: 07.06.2011
Сообщений: 59
#1

Генерация случайного простого числа - C++

17.09.2012, 23:23. Просмотров 1835. Ответов 2
Метки нет (Все метки)

Добрый вечер всем! У меня такая проблемма. Необходимо чтобы сгенерировалось 2 простых случайных числа. Для этого я написал функцию с которой вроде как проблемм нет, проблемма с её вызовом. В main я два раза её вызываю, но по какой-то причине генерируется одно и тоже число. В чём косяк?
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
38
39
40
41
42
#include "stdafx.h"
#include <stdlib.h>
#include <ctime>
int prostoe_chislo();
 
int prostoe_chislo()
{
    int a;
    srand(time(NULL));
    while(1)
    {
        int z=0,kol=0;
        a=1+rand()%100;
        printf("%d\n",a);
        for(int i=2;i<a;i++)
        {
            if(a%i==1)
                continue;
            if(a%i==0)
            {
                z=1;
                break;
            }
        }
        if(z==0)
        {   printf("chislo prostoe\n");
            break;}
        else
            printf("chislo sostavnoe\n");
    }
    return a;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    int x,y;
    x=prostoe_chislo();
    printf("1-e prostoe chislo:%d\n",x);
    y=prostoe_chislo();
    printf("2-e prostoe chislo:%d\n",y);
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2012, 23:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генерация случайного простого числа (C++):

Генерация случайного числа, максимально случайного - C++
Добрый день, задался вопросом как получить случайное число, но не псевдо-случайное по идее функции rand() и srand(time(NULL))...

Генерация случайного числа - C++
Сори за вопрос может уже обсуждался не раз, но всё же возник. Как правильно сгенерировать число от 0 до 1 и какой тип данных лучше...

Генерация случайного числа - C++
Проблемма такова: в программе необходимо получить несколько чисел, от 1 до 255 (или max будет другим -- пока не важно). Стандартные...

Генерация пятизначного случайного числа - C++
Нужно сгенерировать случайное число из пяти цифр и записать ее в переменную типа string. Пытаюсь 5 генерировать цифры в цикле, а как их...

Генерация случайного числа с плавающей чточкой - C++
Добрый день. Подскажите как генерировать случайное число типа float или double. Обычно использую rand(), но она подходит только для целых,...

Запись текста и генерация случайного числа - C++
Собственно задача такая: записать строки с рандомными числовым значением в некоторое количество создаваймых файлов. Файлы создаются без...

2
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
18.09.2012, 00:32 #2
значение, передаваемое в srand() должно быть разным
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
38
39
40
41
42
43
44
45
#include <stdlib.h>
#include <ctime>
#include <cstdio>
int prostoe_chislo();
 
int prostoe_chislo()
{
    int a;
    static time_t tval = time(0);
    tval += 10;
    //printf("tval = %d\n\n", tval);
    srand(tval);
    while(1)
    {
        int z=0,kol=0;
        a=1+rand()%100;
        printf("%d\n",a);
        for(int i=2;i<a;i++)
        {
            if(a%i==1)
                continue;
            if(a%i==0)
            {
                z=1;
                break;
            }
        }
        if(z==0)
        {   printf("chislo prostoe\n");
            break;}
        else
            printf("chislo sostavnoe\n");
    }
    return a;
}
 
int main()
{
    int x,y;
    x=prostoe_chislo();
    printf("1-e prostoe chislo:%d\n",x);
    y=prostoe_chislo();
    printf("2-e prostoe chislo:%d\n",y);
    return 0;
}
1
savzhik
2 / 2 / 0
Регистрация: 07.06.2011
Сообщений: 59
18.09.2012, 00:37  [ТС] #3
Спасибо большое! Очень помогли.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2012, 00:37
Привет! Вот еще темы с ответами:

Генерация случайного числа каждую секунду - C++
Нужно каждую секунду генерировать случайное число. Ниже мой код, который выполняет задачу, но функция слип останавливает весь процесс и в...

Генерация простого числа - C++
Необходима программа которая бы генерировала какое-то любое простое число от 2 до N . N пусть ограничивается самым длинным типом данных.

Генерация случайного числа при запуске программы - C++
Доброго всем времени суток. В данный момент потихоньку осваиваю C++ и столкнулся с такой вещью, что при использовании srand( (time(0) )...

Генерация случайного четырехзначного числа без цифр, больших 7 и 0 - C++
Нужно сгенерировать случайное четырехзначные число без цифр, больших 7 и 0. Пишу вот такой код: Но он ничего не выводится....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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