1. 程式人生 > >使用C語言編寫程式,求解有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個序列的前20項

使用C語言編寫程式,求解有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個序列的前20項

使用C語言編寫程式,求解有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個序列的前20項


void test()
{
 //思路:找規律->從3/2開始 下一個數的分母是上一個數的分子,下一個數的分子是上一個數的分子分母之和

 double mol = 2.0, den = 1.0, denlast = 0;
 double div = mol / den;
 double sum = 0;
 int i = 0;
 for (i = 0; i < 20; i++)
 {
  printf("%g/%g ", mol, den);//%g省去浮點數的無效0 
  sum += div;
  denlast = den;
  den = mol;
  mol += denlast;
  div = mol / den;  
 }
 printf("\nsum = %lf\n", sum);//%lf_雙精度
}

wKioL1a8AHPx3e1UAADjAjVo3ZE888.jpg