include stdio h int main int i int
- Slides: 39
#include <stdio. h> int main() { int i; int n; int fn 1; int fn 2; printf("n="); 条件式 scanf("%d", &n); fn 1 = 1; fn 2 = 1; for (i=2; i<=n; i++) { fn=fn 1+fn 2; 条件が成り立つ限り, fn 2=fn 1; 実行されつづける部分 fn 1=fn; printf("f(%d) = %dn", i, fn); 順番に意味がある. } fn 1=fn; return 0; fn 2=fn 1; } 8 とはしないこと
#include <stdio. h> int fib(int n) { if (n<=1) { return 1; } else { return fib(n-1)+fib(n-2); } } int main() { int n; int fn; printf("Enter a number: "); scanf("%d", &n); fn = fib(n); printf("Fib(%d)=%dn", n , fn); return 0; } 11
「再帰」によるフィボナッチ数 列 n <= 1 No Yes return fib(n-1) + fib(n-2); return 1; 13
#include <stdio. h> int mc 91(int n) { if (n>100) { return n-10; } else { return mc 91(n+11)); } } int main() { int n; int mc; printf("Enter a number: "); scanf("%d", &n); mc = mc 91(n); printf("mc 91(%d)=%dn", n , mc ); return 0; } 18
Mc. Carthyの 91関数 実行結果の例 Enter a number: 20 mc 91(20)=91 19
#include <stdio. h> int ack(int m, int n) { if (m==0) { return n+1; } else if (n==0) { return ack(m-1, 1); } else { return ack(m-1, ack(m, n-1)); } } int main() { int n; int m; int a; printf("m="); scanf("%d", &m); printf("n="); scanf("%d", &n); a = ack(m, n); printf("Ack(%d, %d)=%dn", m , n , a); return 0; } 23
Ackermann関数 実行結果の例 m=2 n=4 Ack(2, 4)=11 24
#include <stdio. h> int sum(int n, int s) { if (n==0) { return s; } else { return sum(n-1, n+s); return 文の中でのみ } 再帰呼び出し } int main() { int n; int souwa; printf("Enter a number: "); scanf("%d", &n); souwa = sum(n, 0); printf("sum(%d)=%dn", n, souwa); return 0; } 31
n と s の値の変化 (main 関数で n = 2 のとき) main 関数 int main() 関数呼び出し sum(n, 0); sum 関数 int sum( int n, int s ) n=2 s=0 関数呼び出し と戻り return sum(n-1, n+s); sum 関数 int sum( int n, int s ) n=1 s=2 関数呼び出し と戻り return sum(n-1, n+s); sum 関数 int sum( int n, int s ) n=0 s=3 戻り return s; 33
- #include stdio.h
- #include string.h
- #include stdio.h void main()
- #include stdio.h #include conio.h #include stdlib.h
- #include stdio.h int main()
- #include stdio.h int main(void)
- Int sum(int a int n) int sum=0 i
- Include stdlib.h
- #include stdio.h void main()
- #include stdio.h void main()
- #include stdio.h void main()
- #include stdio.h void main()
- 윤년 계산
- #include iostream using namespace std
- Interface calculator public int add(int a int b) class test
- Public void drawsquare(int x, int y, int len)
- Int max(int x int y)
- Public int divide(int a int b)
- Int main int argc char argv
- Int main() int num=4
- Int argc char argv
- Void main int main
- H
- Include stdlib h