bool isLyrchel(int num){ BigInteger number = num; for(int i = 0; i < 50; i++){ std::string reversed = bigIntegerToString(number); std::reverse(reversed.begin(), reversed.end()); BigInteger rev = stringToBigInteger(reversed); number += rev; std::string temp = bigIntegerToString(number); if(isPalindrome(temp)) return false; } return true; }
int main() { int max = 0; for(int i = 1; i < 100; i++) { BigUnsigned base = i; for(int exponent = 1; exponent < 100; exponent++) { base *= exponent; int digits = digitSum(bigIntegerToString(base)); if( digits > max) max = digits; } } std::cout<< max <<std::endl; return 0; }
//--------------------------------------------------------------------------- void DialogRampalTest::onAnyChange() { try { const std::string s = ui->edit_newick->text().toStdString(); BinaryNewickVector n(s); } catch (std::exception&) { ui->label_input_feedback->setText("Invalid Newick"); m_valid_input = false; return; } try { const std::string s = ui->edit_theta->text().toStdString(); const double t = boost::lexical_cast<double>(s); if (t <= 0.0) { ui->label_input_feedback->setText("Invalid theta"); return; } } catch(boost::bad_lexical_cast&) { ui->label_input_feedback->setText("Invalid theta"); m_valid_input = false; return; } //Calculate complexity { const std::string s = ui->edit_newick->text().toStdString(); const BinaryNewickVector n(s); const BigInteger complexity = Newick::CalcComplexity(n.Get()); const std::string c_str = bigIntegerToString(complexity); ui->label_input_feedback->setText( QString("Newick complexity: ") + QString(c_str.c_str()) ); } m_valid_input = true; }
//--------------------------------------------------------------------------- //Ewensprobability = probability * num_of_combinations const std::string Test::GetEwensProbability() const { const BigInteger n_combinations = Newick::CalcNumOfCombinations( BinaryNewickVector(GetNewick()).Get()); try { const int i = n_combinations.toInt(); const double d = boost::numeric_cast<double>(i); const double ewens_probability = d * GetProbability(); return boost::lexical_cast<std::string>(ewens_probability); } catch (...) { const std::string s = bigIntegerToString(n_combinations) + std::string(" * ") + boost::lexical_cast<std::string>(GetProbability()); return s; } }