fork download
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5. int a[9],b[9];
  6. char k[9]={'+','+','+','+','+','+','+','+','+'};
  7. int i,bc,next,ans,ans_cnt = 0;
  8.  
  9. while(ans_cnt < 10 && k[8] == '+')
  10. {
  11. //初期化
  12. bc = 1;
  13. next = 1;
  14.  
  15. for(i = 0; i < 9; i++)
  16. {
  17. a[i] = i+1;
  18. b[i] = 1;
  19. }
  20.  
  21. //減算&乗算
  22. for(i = 1; i < 9; i++)
  23. {
  24. switch(k[i-1]){
  25. case '-':
  26. a[i] *= -1;
  27. case '+':
  28. bc++;
  29. default:
  30. b[bc-1] *= a[i];
  31. break;
  32. }
  33. }
  34. //加算
  35. ans = b[0];
  36. for(i = 1; i < bc; i++)
  37. ans += b[i];
  38.  
  39. //答え合わせ
  40. if(ans==100){
  41. ans_cnt++;
  42. printf("%d個目の答え:",ans_cnt);
  43. for(i = 0; i < 8; i++)
  44. printf("%d%c",i+1,k[i]);
  45. printf("%d\n",9);
  46. }
  47.  
  48. //ずらす
  49. for(i = 0; next; i++)
  50. switch(k[i]){
  51. case '+':
  52. k[i] = '-';
  53. next = 0;
  54. break;
  55. case '-':
  56. k[i] = '*';
  57. next = 0;
  58. break;
  59. case '*':
  60. k[i] = '+';
  61. break;
  62.  
  63. }
  64. }
  65.  
  66. return 0;
  67. }
Success #stdin #stdout 0.01s 1720KB
stdin
Standard input is empty
stdout
1個目の答え:1*2*3*4+5+6+7*8+9
2個目の答え:1-2+3*4*5+6*7+8-9
3個目の答え:1-2+3*4*5-6+7*8-9
4個目の答え:1+2+3+4+5+6+7+8*9
5個目の答え:1*2*3+4+5+6+7+8*9
6個目の答え:1-2*3+4*5+6+7+8*9
7個目の答え:1+2*3+4*5-6+7+8*9
8個目の答え:1-2*3-4+5*6+7+8*9
9個目の答え:1+2-3*4+5*6+7+8*9
10個目の答え:1*2*3*4+5+6-7+8*9