#include <stdio.h>
int sumAryB(int x[], int s, int e) {
int sum1,sum2,m;
if(s==e)
return x[s];
m=(s+e)/2;
sum1=sumAryB(x,s,m);
sum2=sumAryB(x,m+1,e);
return sum1+sum2;
}
int main(void) {
int x[] = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3 }; /* 合計は 39 */
printf("配列の値の合計:%d\n", sumAryB
(x
, 0, 9)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgc3VtQXJ5QihpbnQgeFtdLCBpbnQgcywgaW50IGUpIHsKCWludCBzdW0xLHN1bTIsbTsKCWlmKHM9PWUpCglyZXR1cm4geFtzXTsKCW09KHMrZSkvMjsKCXN1bTE9c3VtQXJ5Qih4LHMsbSk7CglzdW0yPXN1bUFyeUIoeCxtKzEsZSk7CglyZXR1cm4gc3VtMStzdW0yOwp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgeFtdID0geyAzLCAxLCA0LCAxLCA1LCA5LCAyLCA2LCA1LCAzIH07IC8qIOWQiOioiOOBryAzOSAqLwoKICAgIHByaW50Zigi6YWN5YiX44Gu5YCk44Gu5ZCI6KiI77yaJWRcbiIsIHN1bUFyeUIoeCwgMCwgOSkpOwogICAgcmV0dXJuIDA7Cn0=