このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1286978599/57
#  477 名前:デフォルトの名無しさん[] 投稿日:2010/09/29(水) 23:57:43 
#  [1] 授業単元: プログラム 
#  [2] 問題文(含コード&リンク): an=a[n-1]+a[n-2]で、nを与えた時a[n]を求める。Σ[n-2,i=1]aiとanの比較をせよ。Σ[n-1,i=1]ai^2とa[n-1]*anの比較をせよ 
#  

'an=a[n-1]+a[n-2]で、nを与えた時a[n]'(0,0).
'an=a[n-1]+a[n-2]で、nを与えた時a[n]'(1,1).
'an=a[n-1]+a[n-2]で、nを与えた時a[n]'(_n,X) :-
        _n_1 is _n - 1,
        _n_1_1 is _n - 2,
        'an=a[n-1]+a[n-2]で、nを与えた時a[n]'(_n_1,X_1),
        'an=a[n-1]+a[n-2]で、nを与えた時a[n]'(_n_1_1,X_1_1),
        X is X_1 + X_1_1.

'Σ[n-2,i=1]ai'(N,S) :-
        N_2 is N - 2,
        'Σ[n,i=1]ai'(1,N_2,1,S).

'Σ[n,i=1]ai'(N,M,S,S) :- N > M,!.
'Σ[n,i=1]ai'(N,M,S_1,S) :-
        'an=a[n-1]+a[n]で、nを与えた時a[n]'(N,S_1_1),
        N_2 is N + 1,
        S_2 is S_1 + S_1_1,
        'Σ[n,i=1]ai'(N_2,M,S_2,S).

'Σ[n-2,i=1]aiとanの比較'(M) :-
        for(1,N,M),
        'Σ[n-2,i=1]ai'(N,S_1) ,
        'an=a[n-1]+a[n]で、nを与えた時a[n]'(N,S_2),
        write_formatted('%t, %t, %t\n',[N,S_1,S_2]),
        N = M.

'Σ[n-1,i=1]ai^2'(N,S) :-
        M is N - 1,
        'Σ[n,i=1]ai^2'(1,M,1,S).

'Σ[n,i=1]ai^2'(N,M,S,S) :-N > M,!.
'Σ[n,i=1]ai^2'(N,M,S_1,S) :-
        'an=a[n-1]+a[n]で、nを与えた時a[n]'(N,S_1_1),
        S1_1 is S_1_1 * S_1_1,
        S_2 is S_1 + An,
        N2 is N + 1,
        'Σ[n,i=1]ai^2'(N2,M,S_2,S) .

'Σ[n-1,i=1]ai^2とa[n-1]*anの比較'(M) :-
        for(1,N,M),
        'Σ[n-1,i=1]ai^2'(N,S) 1,
        'an=a[n-1]+a[n]で、nを与えた時a[n]'(N,S_2),
        N_1 is N - 1,
        'an=a[n-1]+a[n]で、nを与えた時a[n]'(N_1,S_3),
        S_4 is S_2 * S_3,
        write_formatted('%t, %t, %t\n',[N,S_1,S_4]),
        N = M.