第三题 密室寻宝 问题描述: 哈利波特不经意间进入了一座古墓,古墓入口有一道大门,内部有六个密室,每个
发布网友
发布时间:2022-05-19 01:17
我来回答
共5个回答
热心网友
时间:2024-03-02 15:17
我用C语言写的,第一次写,有些繁琐,请海涵
#include<stdio.h>
int main()
{
int P,Q,i,flog1[6]={0},flog2[6]={0},temp=0;
int a[6]={32,16,8,4,2,1};
int b[6]={0},c[6]={0};
printf("请输入两个小于等于63的数字,用回车键隔开!\n");
scanf("%d",&P);
scanf("%d",&Q);
printf("\nP\n");
for(i=0;i<6;i++)
{
if(P<=0)
{
printf("flog1[%d]=0\n",i);
P=P-a[i];
}
else
{
b[i]=P/a[i];
if(b[i]==0)
{
flog1[i]=0;
}
else
{
flog1[i]=1;
if(P==1)
{
printf("flog1[%d]=%d\n",i,flog1[i]);
break;
}
P=P-a[i];
}
printf("flog1[%d]=%d\n",i,flog1[i]);
}
}//将63以内的十进制转化为二进制
printf("\nQ\n");
for(i=0;i<6;i++)
{
if(Q<=0)
{
printf("flog2[%d]=0\n",i);
Q=Q-a[i];
}
else
{
b[i]=Q/a[i];
if(b[i]==0)
{
flog2[i]=0;
}
else
{
flog2[i]=1;
if(Q==1)
{
printf("flog2[%d]=%d\n",i,flog2[i]);
break;
}
Q=Q-a[i];
}
printf("flog2[%d]=%d\n",i,flog2[i]);
}
}
for(i=5;i>=0;i--)
{
if(flog1[i]==1&&flog2[i]==1)
{
temp++;
printf("%d\t",6-i);
}
}
if(temp>=2)
printf("OPEN!\n");
else
{
if(temp==0)
printf("0\n");
printf("CLOSE!\n");
}
return 0;
}
热心网友
时间:2024-03-02 15:18
nishuoshenme???
热心网友
时间:2024-03-02 15:18
这是什么,难倒哈迷啦
热心网友
时间:2024-03-02 15:19
什么意思?
热心网友
时间:2024-03-02 15:19
....