Пытаюсь заполнить такую табличку:
Где a и b берутся рандомно. Суть такая:нужна выбрать a и b, чтобы они полностью раскладывались на множители приведенные в таблице(первые множители должны расклыдвать число по a+bm, вторые числа, должны раскладывать N, по вторым числам в паре), где N=a^2-ab+27b^2. В последней колонке в паре смотрите только на второе число, на первое пока не обращайте внимания. В rational_factor храню первые множители. В algebraic_factor храню пары последней колонки. В pairs храню полученные пары, чтобы не повторялись. m=31 это диапазон значений. Пытаюсь это реализовать так:
do {
//генерация a и b проверка на нод и вхождения
do {
ab.first = rand() % m + 1; // диапазон равен от 1 до 3 включительно
ab.second = rand() % (2*m+1) + (-m);
int i = 0;
else if (find(pairs.begin(), pairs.end(), ab) == pairs.end())
{
a = true;
pairs[o] = ab;
o++;
}
else a = false;
}
} while (a == false);
//процесс заполнения матрицы
int summa = 0;
int yup = 0;
summa = ab.first + ab.second*m;
if (summa == 0)
yup = rational_factor.size();
if (summa < 0)
{
mas[ij][0] = 1;
summa *= -1;
}
while (yup != rational_factor.size())
{
if (summa % rational_factor[yup].second == 0)
{
summa /= rational_factor[yup].second;
mas[ij][yup + 1]++;
}
else
yup++;
}
int i = 0;
double as = (double)-ab.first / ab.second;
for (int j = 0; j <= 2; j++)
N += equation[j] * pow(as, j);
N *= pow(-ab.second, d);
if (N == 0 || summa == 0)
i = algebraic_factor.size();
while (i < algebraic_factor.size() - 1)
{
if ((int)N % algebraic_factor[i].second == 0)
{
N /= algebraic_factor[i].second;
mas[ij][yup + 1]++;
}
i++;
yup++;
}
if (N == 1 && summa == 1)
ij++;
else
{
N = 0;
pairs[o].first = 0;
pairs[o].second = 0;
o--;
for (int k=0;k<b;k++)
mas[ij][k] = 0;
}
}while (ij != b - 2);
}
Он штук 8 быстро и правильно заполняет, а потом дальше почему-то не может
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости