fork download
  1. #include <stdio.h>
  2.  
  3. int func(int n) {
  4. int a;
  5. int b = 2; // a_2 の値 (a_{n-1})
  6. int c = 1; // a_1 の値 (a_{n-2})
  7. int i;
  8.  
  9. if (n == 1) {
  10. return 1;
  11. } else if (n == 2) {
  12. return 2;
  13. } else {
  14. // n = 3 のときは 1 回だけループを実行する
  15. for (i = 2; i <= n; i++) {
  16. a = -2 * b + 2 * c; // a_n = -2 * a_{n-1} + 2 * a_{n-2}
  17. c = b; // 前々項を更新
  18. b = a; // 前項を更新
  19. }
  20. return a;
  21. }
  22. }
  23.  
  24. int main(void) {
  25. int n = 3;
  26. printf("数列anについて, n=%dのときの値は%d\n", n, func(n));
  27. return 0;
  28. }
  29.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
数列anについて, n=3のときの値は8