#include <stdio.h>
/*
* 1からnまでの合計がsなる組み合わせすう
* @n: 加える1~nの数, s:合計
*/
int fn(int n, int s)
{
int count=0;
if (s==0){ //合計0(残り0)
count = 1;
}
else if(n==0){ //加える数がない
count = 0;
}
else if(n<=s){ //合計以下の数nを追加できる
//数nを選択 + 数nを非選択
count = fn(n-1,s-n) + fn(n-1,s);
}
else{ //n>sなので数nは非選択として次の数へ
count = fn(n-1,s);
}
return count;
}
int main(void) {
int n,s; //1~nまでの数で合計がsとなる組合せ
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovKgogKiAx44GL44KJbuOBvuOBp+OBruWQiOioiOOBjHPjgarjgovntYTjgb/lkIjjgo/jgZvjgZnjgYYKICogQG46IOWKoOOBiOOCizF+buOBruaVsCwgczrlkIjoqIgKICovCmludCBmbihpbnQgbiwgaW50IHMpCnsKCWludCBjb3VudD0wOwoKCWlmIChzPT0wKXsJCQkvL+WQiOioiDAo5q6L44KKMCkKCQljb3VudCA9IDE7Cgl9CgllbHNlIGlmKG49PTApewkJLy/liqDjgYjjgovmlbDjgYzjgarjgYQKCQljb3VudCA9IDA7Cgl9CgllbHNlIGlmKG48PXMpewkJLy/lkIjoqIjku6XkuIvjga7mlbBu44KS6L+95Yqg44Gn44GN44KLCgkJCQkvL+aVsG7jgpLpgbjmip4gKyDmlbBu44KS6Z2e6YG45oqeCgkJY291bnQgPSBmbihuLTEscy1uKSArIGZuKG4tMSxzKTsKCX0KCWVsc2V7CQkvL24+c+OBquOBruOBp+aVsG7jga/pnZ7pgbjmip7jgajjgZfjgabmrKHjga7mlbDjgbgKCQljb3VudCA9IGZuKG4tMSxzKTsKCX0KCXJldHVybiBjb3VudDsKfQoKaW50IG1haW4odm9pZCkgewoJaW50IG4sczsJLy8xfu+9juOBvuOBp+OBruaVsOOBp+WQiOioiOOBjHPjgajjgarjgovntYTlkIjjgZsKCQoJc2NhbmYoIiVkLCVkIiwmbiwmcyk7CglwcmludGYoIiVk57WEXG4iLGZuKG4scykpOwoJCglyZXR1cm4gMDsKfQo=