您的位置:首页 > 其它

蓝桥杯~凑算式

2016-04-15 11:00 302 查看
全排列生成1~9的数字然后判断是否满足条件

#include<stdio.h>
int ans = 0;
int num[10];
int visit[10];

void Solve()
{
double sum = num[0] + (double)num[1] / num[2] + (double)(num[3]*100+num[4]*10+num[5])/(num[6]*100+num[7]*10+num[8]);
if(sum == 10)
{
ans ++;
}
}

void dfs(int cur)
{
if(cur == 9){
Solve();
return;
}
for(int i=1;i<=9;i++){
if(!visit[i]){
visit[i] = 1;
num[cur] = i;
dfs(cur+1);
visit[i] = 0;
}
}
}

int main()
{
dfs(0);
printf("%d\n",ans);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: