fork download
  1. #include <stdio.h>
  2.  
  3. // グローバル変数cを定義し、カウント用の変数として使う
  4. int c = 0;
  5.  
  6. // rec関数の定義
  7. int rec(int n) {
  8. // 最初の3項を返す
  9. if (n == 0) {
  10. return 3;
  11. } else if (n == 1) {
  12. return 0;
  13. } else if (n == 2) {
  14. return 2;
  15. } else {
  16. // n >= 3 の場合は再帰的に計算
  17. return rec(n - 2) + rec(n - 3);
  18. }
  19. }
  20.  
  21. int main(void) {
  22. int n = 50;
  23. // 0からnまでの各項を列挙
  24. for (int i = 1; i <= n; i++) { // n=0は無視するのでi=1から開始
  25. int value = rec(i);
  26. if (value % i == 0) { // a(n)がnで割り切れる場合
  27. c++; // 割り切れる場合、カウントをインクリメント
  28. }
  29. }
  30.  
  31. // カウント結果を表示
  32. printf("Total count of n where a(n) is divisible by n: %d\n", c);
  33.  
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 0.02s 5276KB
stdin
Standard input is empty
stdout
Total count of n where a(n) is divisible by n: 16