Целочисленное уравнение.

geh
Сообщений: 224
Зарегистрирован: 09 дек 2013, 21:00

Целочисленное уравнение.

Сообщение geh » 18 янв 2014, 12:14

Kiv, вы компьютерный гений!! Пока я придумывал как использовать теорию чисел для контроля решений, вы все решили! Я тут подумал, если заменить кубический корень на квадратный?? Не знаю будет ли это быстрее? Так или иначе, я приступил к изучению языка С++. QBasic вы больше не увидите. Буду писать на Си. Спасибо за все!!
Последний раз редактировалось geh 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test

Alexu007
Сообщений: 844
Зарегистрирован: 06 янв 2008, 21:00

Целочисленное уравнение.

Сообщение Alexu007 » 17 фев 2014, 11:16

kiv писал(а):Source of the post
Просто обидно, понимашь - было время вечером, дай, думаю, поставлю на ночь, пусть посчитает, раз уж двое суток считало, неужто я ночью не обойдусь? Оказалось, хватило 1 часа 15 минут.
Процессор - четырехядерный i5-2500 3.30 GHz, операционка - Windows 7 x64, компилятор - Visual C++ 2010.

Ничего себе, как у вас быстро посчиталось! У меня за час только до 30000 (из миллиона), и хотя программа 32-х разрядная и одно ядро, но всё же, всё же... тем более, чем дальше - тем считает медленнее.

Код: Выбрать все

 #define MAXSZ 1000001

 QString str, str1;

 quint64 sum;

 quint64 *kub = new quint64[MAXSZ];

 uint i,j,k;

 //uint rez = 0;

 QTime time;
 time.start();

 // заполнение массива кубами чисел (работает ок. 1 секунды)
 for(i = 2; i < MAXSZ; i++)
 {
 kub[i] = i; kub[i] *= i; kub[i] *= i;

 }


 // цикл
 for(i = 2; i < MAXSZ; i++)
 {
 //if(i % 10 == 0)
 {
 ui->label_2->setText(QString::number(i));
 QApplication::processEvents();
 }

 // цикл
 for(j = i; j < MAXSZ; j++)
 {
 sum = kub[i] + kub[j] - 1;

 //цикл
 for(k = j; k < MAXSZ; k++)
 {
 if(kub[k] < sum) continue;
 if(kub[k] > sum) break;

 // вывод на экран
 {str += QString::number(i) + " " +
 QString::number(j) + " " +
 QString::number(k) + "\n";

 ui->label_1->setText(str);
 QApplication::processEvents();}


 }
 }
 }




Изображение
Последний раз редактировалось Alexu007 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 6 гостей