#ifndef MAINWINDOW_H #define MAINWINDOW_H #include namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT private: Ui::MainWindow* ui = nullptr; bool userStopped = false; public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow() override; private slots: void on_lineEditNumber_textEdited(const QString &arg1); void on_pushButtonCalculate_clicked(); void on_pushButtonStop_clicked(); private: /** * @brief Calcula las sumas de Goldbach para el numero dado y las agrega a una pizarra * @param number El numero dado por el usuario * @return La cantidad de sumas encontradas */ long long calculate(long long number); /** * Calcula todas las sumas de dos primos que equivalen al numero dado, y las presenta * en el area resultado. Incrementa la barra de progreso mientras realiza el calculo * de la conjetura fuerte de Goldbach, por ejemplo: * * 4 == 2 + 2 * 6 == 3 + 3 * 10 == 3 + 7 == 5 + 5 * * @param numero Un numero entero par mayor o igual a 4 * @return la cantidad de sumas de dos primos encontradas */ long long calculateEvenGoldbach(long long number); /** * Calcula todas las sumas de tres primos que equivalen al numero dado, y las presenta * en el area resultado. Incrementa la barra de progreso mientras realiza el calculo * de la conjetura debil de Goldbach, por ejemplo: * * 7 == 2 + 2 + 3 * 9 == 2 + 2 + 5 == 3 + 3 + 3 * * @param numero Un numero entero impar mayor o igual a 7 * @return la cantidad de sumas de tres primos encontradas */ long long calculateOddGoldbach(long long number); /** * Retorna true si numero es primo, false si numero no es primo o menor que 2 * Por definicion 1 no es primo ni compuesto, este metodo retorna false */ static bool isPrime(long long numero); }; #endif // MAINWINDOW_H