fork download
  1. #include <stdio.h>
  2.  
  3. // 課題3
  4. int rec(int n) {
  5. if (n == 0) {
  6. return 3;
  7. } else if (n == 1) {
  8. return 0;
  9. } else if (n == 2) {
  10. return 2;
  11. } else {
  12. return rec(n - 2) + rec(n - 3);
  13. }
  14. }
  15.  
  16. int main(void) {
  17. int n = 50;
  18.  
  19. // n = 0 のときは無視するので、1から開始
  20. for (int i = 1; i <= n; i++) {
  21. int a_n = rec(i);
  22.  
  23. // a_n が n で割り切れる場合
  24. if (a_n % i == 0) {
  25. printf("n = %d: rec(n) = %d (割り切れる)\n", i, a_n);
  26. }
  27. }
  28.  
  29. return 0;
  30. }
  31.  
  32.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
n = 1: rec(n) = 0 (割り切れる)
n = 2: rec(n) = 2 (割り切れる)
n = 3: rec(n) = 3 (割り切れる)
n = 5: rec(n) = 5 (割り切れる)
n = 7: rec(n) = 7 (割り切れる)
n = 11: rec(n) = 22 (割り切れる)
n = 13: rec(n) = 39 (割り切れる)
n = 17: rec(n) = 119 (割り切れる)
n = 19: rec(n) = 209 (割り切れる)
n = 23: rec(n) = 644 (割り切れる)
n = 29: rec(n) = 3480 (割り切れる)
n = 31: rec(n) = 6107 (割り切れる)
n = 37: rec(n) = 33004 (割り切れる)
n = 41: rec(n) = 101639 (割り切れる)
n = 43: rec(n) = 178364 (割り切れる)
n = 47: rec(n) = 549289 (割り切れる)