- 563 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 12:35:46 ]
- >>554-557
バグありそうだけど、こんな感じ? 行数制限で、出力部は省略したw #include <stdio.h> #include <stdlib.h> #define max(a,b) ((a) > (b) ? (a) : (b)) int get_rand(int maxValue) { return rand() * maxValue / RAND_MAX + 1; } main( int argc, char *argv[] ) { const int N = 3; const int count = 1 << N; int i,j,result[count]; result[0] = 0; for(i = 1;i < count;i++) { int value = 0; for(j = 1;j <= i/2;j++) { if((i & j) == j) value = max(value,result[j]+result[i-j]); } result[i] = value + get_rand(10); } }
|

|