AOJ 0030: Sum of Integers [AOJ]
同じ問題を昔ひどい解き方をしたような気がするので※、書きなおしてみました.
(※9月20日付オワコンだと言われても: 0030「Sum of Integers」参照)
(※9月20日付オワコンだと言われても: 0030「Sum of Integers」参照)
#include <stdio.h> int get_sum(int num, int sum, int *u, int n){ int i, j; if (num == 0 && sum == 0){ return (1); } if (n > 9){ return (0); } return (get_sum(num - 1, sum - u[n], u, n + 1) + get_sum(num, sum, u, n + 1)); } int main(void) { int sum, num; int u[10]; int i; while (1){ scanf("%d%d", &num, &sum); if (num == 0 && sum == 0) break; for (i = 0; i < 10; i++){ u[i] = i; } printf("%d\n", get_sum(num, sum, u, 0)); } return (0); }
2011-12-10 11:18
nice!(0)
コメント(0)
トラックバック(0)
コメント 0