こんにちは。
fuku です、皆さん いかが
お過ごしでしょうか。
熊本の 地震は 大変ですね。
一早い 復旧・復興を お祈りしています。
亡くなられた方たちの ご冥福を お祈りします。
今回の 記事なのですが、
例によって、極選 予想問題集より、
お伝えします。
小町算
1, 2, 3, 4, 5, 6, 7, 8, 9
までの 数字を1個づつ 使って、
+, - で 合計を 100にします。
その 式を 出力します。
という、PGです。^^
以下に、作成した コードを
載せておきます。
ご参考になれば、幸いです :)
#include <stdio.h>
#include <string.h>
int main(){
int i;
int n;
int s;
int sign;
int ope[10];
for(i = 1; i<= 9; i++){
ope[i] = 0;}
while(ope[1] < 3){
s = 0;
n = 0;
sign = 1;
for(i = 1; i <= 9; i++){
if(ope[i] == 0){
n = n*10 + i;}
else{
s = s+ sign*n;
n = i;
if(ope[i] == 2){
sign = 1;}
else{
sign = -1;}
}
}
s = s + sign*n;
if(s == 100){
for(i=1; i <= 9; i++){
if(ope[i] == 1){
printf("%s", "-");}
else {
if(ope[i] == 2){
printf("%s", "+");}
}
printf("%d", i);
}
printf("%s\n", "");
}
i = 9;
ope[i] = ope[i] + 1;
while((i > 1) && (ope[i] == 3)){
ope[i] = 0;
i = i - 1;
ope[i] = ope[i] + 1;}
}
}