65,211
社区成员
发帖
与我相关
我的任务
分享
应该是 XX * XXX = XXXX 吧??
#include <iostream.h>
void main()
{
int i,j,k,o,p,q,r,s,t,a[100],b[100],n=9,x,y,z;
for(i=1;i <=n;i=i+1)
{
a[i]=i;
b[i]=1;
}
for(i=1;i <=n;i=i+1)
for(j=1;j <=n;j=j+1)
if(a[i]==a[j])
break;
else
{
b[i]=0;b[j]=0;
x=a[i]*10+a[j];
for(k=1;k <=n;k=k+1)
for(o=1;o <=n;o=o+1)
for(p=1;p <=n;p=p+1)
if(b[k]==0 ||b[o]==0||b[p]==0)
break;
else
{
b[k]=0;b[o]=0;b[p]=0;
y=a[k]*100+a[o]*10+a[p];
for(q=1;q <=n;q=q+1)
for(r=1;r <=n;r=r+1)
for(s=1;s <=n;s=s+1)
for(t=1;t <=n;t=t+1)
if(b[q]==0||b[r]==0||b[s]==0||b[t]==0)
break;
else
{
b[q]=0;b[r]=0;b[s]=0;b[t]=0;
z=a[q]*1000+a[r]*100+a[s]*10+a[t];
if(x*y==z)
cout <<x <<"*" <<y <<"=" <<z;
else
break;
}
}
}
}
void test_it(int cur_pos, int sign[], int value[], int results[])
{
if(cur_pos > 8)
{
int x = results[0] * 10 + results[1];
int y = results[2] * 100 + results[3] * 10 + results[4];
int z = results[5] * 1000 + results[6] * 100 + results[7] * 10 + results[8];
if(x*y==z)
std::cout <<x <<"*" <<y <<"=" <<z << std::endl;
return;
}
for(int i = 0; i < 9; ++i)
{
if(sign[i]==0)
continue;
sign[i] = 0;
results[cur_pos] = value[i];
test_it(cur_pos + 1, sign, value, results);
sign[i] = 1;
}
}
int main()
{
int values[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int signs[9] = {1, 1, 1, 1, 1, 1, 1, 1, 1};
int results[9] = {0};
test_it(0, signs, values, results);
}
#include <iostream>
void main()
{
int i,j,k,o,p,q,r,s,t,a[100],b[100],n=9,x,y,z;
for(i=1;i <=n;i=i+1)
{
a[i]=i;
b[i]=1;
}
for(i=1;i <=n;i=i+1)
{
b[i] = 0;
for(j=1;j <=n;j=j+1)
{
if(b[j]==0)
continue;
b[j]=0;
x=a[i]*10+a[j];
for(k=1;k <=n;k=k+1)
{
if(b[k] == 0) continue;
b[k] = 0;
for(o=1;o <=n;o=o+1)
{
if(b[o] == 0) continue;
b[o] = 0;
for(p=1;p <=n;p=p+1)
{
if(b[p]==0)
continue;
b[p]=0;
y=a[k]*100+a[o]*10+a[p];
for(q=1;q <=n;q=q+1)
{
if(b[q]==0)
continue;
b[q] = 0;
for(r=1;r <=n;r=r+1)
{
if(b[r]==0)
continue;
b[r] = 0;
for(s=1;s <=n;s=s+1)
{
if(b[s]==0)
continue;
b[s] = 0;
for(t=1;t <=n;t=t+1)
{
if(b[t]==0)
continue;
b[t] = 0;
z=a[q]*1000+a[r]*100+a[s]*10+a[t];
if(x*y==z)
std::cout <<x <<"*" <<y <<"=" <<z << std::endl;
b[t] = 1;
}
b[s] = 1;
}
b[r] = 1;
}
b[q] = 1;
}
b[p]=1;
}
b[o] = 1;
}
b[k] = 1;
}
b[j]=1;
}
b[i] = 1;
}
}