Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 4
0
//---------------------------------------------------------------------------
//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;
  }
}