All pastes #489798 Raw Edit

Someone

public c v1 · immutable
·published 2007-05-15 18:27 UTC
rendered paste body
#include <stdio.h>#include <gmp.h>int main(int argc, char *argv[]){  int i;  mpz_t lucas, lucnew, mod, expo, two;  mpz_init(lucas);  mpz_init(lucnew);  mpz_init(expo);  mpz_init(mod);  mpz_init(two);  mpz_set_si(two,2);  mpz_set_si(expo, (int)atoi(argv[1]));  mpz_ui_pow_ui(mod,2,(int)atoi(argv[1]));  mpz_sub_ui(mod,mod,1);  mpz_set_si(lucas,4);  gmp_printf("checking exponent %Zd\n", expo);  for(i=2;i<mpz_get_si(expo);i++){    mpz_powm(lucnew,lucas,two,mod);    mpz_sub(lucnew,lucnew,two);    //gmp_printf("S(%d) = (%Zd^2 - 2) mod %Zd = %Zd\n", i, lucas, mod, lucnew);    mpz_set(lucas,lucnew);  }  gmp_printf("S(%d) = %Zd\n",i,lucas);}