简单题……
#include<iostream>
#include<fstream>
using namespace std;
int n;
int number[10]={0};
bool Judge(int num)
{
int i, temp, flag;
while( num>0 )
{
flag=0;
temp=num%10;
num/=10;
for(i=0; i<n; i++)
{
if( temp==number[i])
flag=1;
}
if( flag==0 )
return 0;
}
return 1;
}
int main()
{
ifstream fin("crypt1.in");
ofstream fout("crypt1.out");
int i, j, k, l, m;
int count=0, num1, num2, num3;
fin>>n;
for(i=0; i<n; i++)
fin>>number[i];
for(i=0; i<n; i++)
for(j=0; j<n; j++)
for(k=0; k<n; k++)
for(l=0; l<n; l++)
for(m=0; m<n; m++)
{
num1=number[i]*100+number[j]*10+number[k];
num2=number[l]*10+number[m];
if( number[l]*num1<=999 && number[m]*num1<=999)
{
if( Judge(number[l]*num1) && Judge(number[m]*num1))
{
num3=num1*num2;
if( num3<=9999 && Judge(num3) )
count++;
}
}
}
fout<<count<<endl;
}