新手光能
题目描述 Description
请用给定的数字去填下方图中的算式。如果一种填数的方式能够使得算式成立,则称其为一个牛式。
填数的规则是选择给定的数字去替换图中的'*'。
给定的数字范围为1到9,不包括0。
输入描述 Input Description
第一行,一个整数,n
接下来一行,n个整数,之间以空格隔开,每个整数都在1到9之间
输出描述 Output Description
输出1行,表示牛式的个数
样例输入 Sample Input
5
2 3 4 6 8
样例输出 Sample Output
1
高级光能
#include<iostream>
using namespace std;
int n,m[9];
bool xxxxx(int k)
{
int h;
while(k>0)
{
h=k%10;
int i;
for(i=0;i<n;i++)
if(h==m[i])
break;
if(i==n)
return 0;
k/=10;
}
return 1;
}
int xxxx(int k)
{
int h=0;
while(k!=0)
{
k/=10;
h++;
}
return h;
}
bool xxx(int a,int b)
{
if(xxxxx(a)&&xxxxx(b)&&
xxxx(a*(b%10))==3&&xxxxx(a*(b%10))&&
xxxx(a*(b/10))==3&&xxxxx(a*(b/10))&&
xxxx(a*b)==4&&xxxxx(a*b))
return true;
return false;
}
int main()
{
int a,b;
int ans=0;
cin>>n;
for(int i=0;i<n;i++)
cin>> m[i];
for(a=111;a<=999;a++)
for(b=11;b<=99;b++)
{
if(xxx(a,b))
ans++;
}
cout<<ans;
return 0;
}
完整代码,勿举报
望采纳!!