/*
下面题目中,填入相应的阿拉伯数字,使每一句话都正确。
数字1在本题目中出现了___次,
数字2在本题目中出现了___次,
数字3在本题目中出现了___次,
数字4在本题目中出现了___次,
数字5在本题目中出现了___次,
数字6在本题目中出现了___次,
数字7在本题目中出现了___次。
*/
#include<stdio.h>
int a[8];
int b[8];
void calculate(int a[8],int b[8]);
void dfs(int depth)
{
int i,j;
if (depth == 8)
{
for(j=0;j<8;j++) //初始化
b[j]=1;
calculate(a,b);
return ;
}
for (i=1; i<=7; i++)
{
a[8-depth]=i;
dfs(depth+1);
}
}
int count=0;
main()
{
dfs(1);
}
void calculate(int a[8],int b[8])
{
int i,j,d,e,f;
for(j=1;j<=7;j++) //识别
{
for(i=1;i<=7;i++)
{
if(a[i]==j)
b[j]++;
}
}
for(e=1;e<=7;e++) //验算
{
if(a[e]!=b[e])
{
f=1;
break;
}
}
if(f!=1) //输出
{
for(d=1;d<=7;d++)
{
printf("%d=%d\n",d,b[d]);
}
}
f=0;
}
逻辑思维题
最新推荐文章于 2021-09-22 21:58:18 发布