首页 > 其他 > 详细

蓝桥杯——凑算式

时间:2019-03-09 19:18:34      阅读:164      评论:0      收藏:0      [点我收藏+]

凑算式

    B      DEF
A + --- + ------- = 10
     C      GHI

1到9做全排列,然后把符合题目意思的输出来

比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

#include <iostream>
#include <string>
using namespace std;

int a[9] = {1,2,3,4,5,6,7,8,9};
int sum = 0;
int sun(int *a)
{
double nn;
nn = (double)a[0]+(double)a[1]/a[2]+(double)(a[3]*100+a[4]*10+a[5])/(a[6]*100+a[7]*10+a[8]);
if(nn == 10)
{
return 1;
}
else
return 0;
}

void fun(int *a,int m,int n)
{
if(m == 0)
{
if(sun(a) == 1)
{
/*
for(int i=0;i<n;i++)//输出每一种情况
{
cout<<a[i];
}
cout<<endl;
*/
sum++;
}
}
else
{
int t;
for(int j=0;j<=m;j++)
{
t = a[m];
a[m] = a[j];
a[j] = t;
fun(a,m-1,n);
t = a[m];
a[m] = a[j];
a[j] = t;
}
}
}
int main()
{

fun(a,8,9);
cout<<sum<<endl;
return 0;
}

蓝桥杯——凑算式

原文:https://www.cnblogs.com/zkw123/p/10502551.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!