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

блок-схема к ро-методу Полларда - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Указатели на функции http://www.cyberforum.ru/cpp-beginners/thread161030.html
Помогите написать определения(или объявления) функций которые соответсвуют типам указателей. С первой я разобрался, а вот со следую щими головоломками у меня не чё не получается!:wall: 1)// Функция void f1() {} Tpf1 pf1 = f1; 2)typedef void *(*(*Tpf2)(int)); 3)typedef float(*(*Tpf3)(int, int, float))(int);
C++ Вычислить и вывести на экран в виде таблицы значения функции Помогите решить задачку Работа с условными операторами и операторами цикла. 1. В среде Microsoft Visual C++ написать программу: Вычислить и вывести на экран в виде таблицы значения функции F на интервале от - 5 до 20, с шагом 1. а, в, с введены пользователем http://www.cyberforum.ru/cpp-beginners/thread161022.html
C++ Что почитать про распределение памяти?
Привет, самостоятельно изучаю С++, пару книг прочла, отложилось немного полезного в моей голове, но вот возникли ряд вопросов. Скажем, когда создается переменная, она сохраняется в стеке - а где этот стек находится, как все это физически взаимодействует (и почему, скажем, мы в стеке не можем хранить объекты, или вот еще - можем ли мы объекты создавать где угодно в любом месте памяти а не только в...
C++ Проблема с подключением стандартных либ
При компиляции даже такого проекта в Eclipse идет ошибка. Текст ошибки: Building target: Proj Invoking: GCC C++ Linker g++ -o"Proj" ./Proj.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status make: *** Ошибка 1
C++ Заполнение массива вещественными числами с двумя знаками после запятой http://www.cyberforum.ru/cpp-beginners/thread160955.html
Здравствуйте! Я только начала работать в С++ и не знаю как заполнить одномерный массив из 10 элементов вещественными числами в диапазоне от 1 до 10 с двумя знаками после запятой. Проблема именно в количестве знаков после запятой. Как это сделать?
C++ Включение поддержки UNICODE в программе Помогите пожалуйста с такой проблемой: я написал программу используя просто main(). В программе у меня есть функции, в которых выполняется функция main(). Захотелось добавит поддержку юникода, переименовал main() в int _tmain(int argc, _TCHAR* argv) а вот как его в функциях писать - не пойму. В общем что мне писать чтобы из функций main запускался? подробнее

Показать сообщение отдельно
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
23.08.2010, 14:19     блок-схема к ро-методу Полларда
Доброго времени суток. Есть программа, нужно нарисовать к ней блок-схему. Собственно далек от этого дела, поэтому помогите пожалуйста если у кого есть светлые мысли Вот код программы:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include <stdafx.h>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <string>
#include <vector>
#include <deque>
#include <sstream>
#include <set>
#include <numeric>
#include <map>
#include <iostream>
#include <memory>
#include <ctime>
 
template<typename _T,typename _S> _T cast(_S _a) 
{
    std::stringstream _s;
    _s << _a;_T _r;_s >> _r;
    return _r;
}
template<typename end_type> std::vector <end_type> split(const std::string& s,const std::string &delim = " ")
{
    std::vector<end_type>res;
    std::string t;
    for(int i=0;i!=s.size();++i)
    {
        if(delim.find(s[i])!=std::string::npos)
        {
            if(!t.empty())
                res.push_back(cast<end_type>(t));
                t="";
        }
        else 
            t+=s[i];
        if(!t.empty())
            res.push_back(cast<end_type>(t));
    }
    return res; 
}
int s2i(std::string _x)
{
    return cast<int>(_x);
}
 
#define SZ(a) ((int)a.size())
#define ZERO(Array) memset(Array,0,sizeof(Array))
#define INF 0x7fffffff
#define EPS 1e-12
#define IN(x,a,b) ((x)>(a)&&(x)<(b))
#define round(x) floor(x+.5)
#define round2(x,p) round(x*(1e-p))/(1e-p)
#define PB push_back
#define ALL(x) (x).begin(),(x).end()
 
using namespace std;
 
#define abs(a) ((a) > 0? (a):-(a))
#define min(a,b) ((a)<(b)? (a):(b))
#define max(a,b) ((a)>(b)? (a):(b))
#define sqr(a) ((a)*(a))
 
typedef long long LL;
typedef unsigned long long uint64;
typedef long double ldbl;
 
LL gcd(LL a,LL b)
{
    while(b)
    {
        LL d = a/b;
        LL tmp = b;
        b = a - b*d;
        a = tmp;
    }
    return a;
}
 
LL s(LL a)
{
    LL ans = 0;
    while(a)
    {
        a/=2;
        ans++;
    }
    return ans;
}
 
LL modular_exponentation(LL a,LL b,LL n){
    LL c=0;
    LL d=1;
    for(int i=s(b)-1;i>=0;--i)
    {
        c*=2;
        d=((LL)(d*d))%n;
        if((b>>i)&1)
            c++;
            d=((LL)(d*a))%n;
    }
    return d;
}
 
void Pollard_Rho(LL n)
{
    LL RANGE_MIN = 0;
    LL RANGE_MAX = n-1;
    LL i = 1;
    LL x = (((double) rand() / 
                         (double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
    LL y = x;
    LL k = 2;
    while(1)
    {
        i++;
        //x = modular_exponentation(x,2,n);
        x = (x*x-1)%n;
        LL d = gcd(y - x,n);
        d = abs(d);
        if(d!=1&&d!=n)
            printf("%d\n",d);
        else if(i==k)
            y = x;
            k<<=1;
    }
}
 
int main()
{
    srand(time(NULL));
    LL t = (LL)2*3*5*7*11*13*17*19*23*29*31*37*41*43;
    Pollard_Rho(t);
    return 0;
}
сама прога это ро-алгоритм Полларда факторизации целых чисел на примере 32 битовых чисел. Если кто поможет сегодня к вечеру, буду очень благодарен Заранее большое спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru