/* by Hiroki Sumida-Takahashi */

#include <stdio.h>
#include <gmp.h>
#include <string.h>

main()
 {
  int fn;
  mpz_t pm,lm; 
  FILE *file1;

  mpz_init(pm);
  mpz_init(lm);
  mpz_set_ui(pm,2);
  file1=fopen("2exp.txt","a+");

  for(fn=1;fn<25;fn++)
    {
     mpz_mul(lm,pm,pm);
     mpz_set(pm,lm);
     mpz_out_str(file1,10,lm);
     fprintf(file1,"\n");
   } /* fn */
   fclose(file1);
   mpz_clear(lm);
   mpz_clear(pm);

 } /* main */
