用代码证明自己闲的蛋疼(二)——写暴力去做逻辑推理题

九日哥比较喜欢做一些逻辑推理题,因为觉得自己智商碉堡୧(๑•̀⌄•́๑)૭

有一天看到网上一道比较好玩的逻辑推理

             1.第一个答案是b的问题是哪一个?
    (a)2;(b) 3;(c)4;(d)5;(e)6
    2、唯一的连续两个具有相同答案的问题是:
    (a)2,3;(b)3,4;(c)4,5;(d)5,6;(e)6,7;
    3、本问题答案和哪一个问题的答案相同?
    (a)1;(b)2;(c)4;(d)7;(e)6
    4、答案是a的问题的个数是:
    (a)0;(b)1;(c)2;(d)3;(e)4
    5、本问题答案和哪一个问题的答案相同?
    (a)10;(b)9;(c)8;(d)7;(e)6
    6、答案是a的问题的个数和答案是什么的问题的个数相同?
    (a)b;(b)c;(c)d;(d)e;(e)以上都不是
    7、按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?
    (a)4;(b)3;(c)2;(d)1;(e)0。(注:a和b相差一个字母)
    8、答案是元音字母的问题的个数是:
    (a)2;(b)3;(c)4;(d)5;(e)6。(注:a和e是元音字母)
    9、答案是辅音字母的问题的个数是:
    (a)一个质数;(b)一个阶乘数;(c)一个平方数;(d)一个立方数,(e)5的倍数
    10、本问题的答案是:
    (a)a;(b)b;(c)c;(d)d;(e)e。


看上去是不是一脸懵比?23333333

其实题目是有一些道理可讲的,比如说第一题,b选项很自然就排除了,第四题,a就排除了,比如说第10题,他的选择很自由,所以是根据前面一些要求而选择的……

我相信如果我们认真思考这道题,一定会排除好多情况,最后联立计算出答案。

当然,我们也可以写10个循环暴力一波23333

#include<stdio.h>
#include<stdlib.h>

/*
        1.第一个答案是b的问题是哪一个?
    (a)2;(b) 3;(c)4;(d)5;(e)6
    2、唯一的连续两个具有相同答案的问题是:
    (a)2,3;(b)3,4;(c)4,5;(d)5,6;(e)6,7;
    3、本问题答案和哪一个问题的答案相同?
    (a)1;(b)2;(c)4;(d)7;(e)6
    4、答案是a的问题的个数是:
    (a)0;(b)1;(c)2;(d)3;(e)4
    5、本问题答案和哪一个问题的答案相同?
    (a)10;(b)9;(c)8;(d)7;(e)6
    6、答案是a的问题的个数和答案是什么的问题的个数相同?
    (a)b;(b)c;(c)d;(d)e;(e)以上都不是
    7、按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?
    (a)4;(b)3;(c)2;(d)1;(e)0。(注:a和b相差一个字母)
    8、答案是元音字母的问题的个数是:
    (a)2;(b)3;(c)4;(d)5;(e)6。(注:a和e是元音字母)
    9、答案是辅音字母的问题的个数是:
    (a)一个质数;(b)一个阶乘数;(c)一个平方数;(d)一个立方数,(e)5的倍数
    10、本问题的答案是:
    (a)a;(b)b;(c)c;(d)d;(e)e。
*/
int i[11];
int QA[11];
bool trueans()
{
	int j;
	//Q1
	for(j=1;j<=10;j++)
	{
		if(i[j]==2)
		{
			if(i[1]+1!=j)
	        QA[1]=0;
           	else
	        QA[1]=1;
			break;
		}
	}
	

			
	//Q2
	int Q2_sum=0;
	int Q2_ans;
	for(j=1;j<10;j++)
	{
		if(i[j]==i[j+1])
		{
			Q2_sum++;
			Q2_ans=j-1;
		}      		
	}
	if(Q2_sum==1)
	{
		if(Q2_ans!=i[2])
		QA[2]=0;
		else
		QA[2]=1;
	}
	else
	{
		QA[2]=0;
	}
	
	//Q3
	int Q3_ans;
	if(i[3]==1) Q3_ans=1;
	if(i[3]==2) Q3_ans=2;
	if(i[3]==3) Q3_ans=4;
	if(i[3]==4) Q3_ans=7;
	if(i[3]==5) Q3_ans=6;
	if(i[Q3_ans]!=i[3])
	QA[3]=0;
	else
	QA[3]=1;
	//Q4
	int Q4_sum=0;
	for(j=1;j<=10;j++)
	{
		if(i[j]==1)
		Q4_sum++;
	}
	if(Q4_sum+1!=i[4])
	QA[4]=0;
	else
	QA[4]=1;
	
	//Q5
	int Q5_ans;
	if(i[5]==1) Q5_ans=10;
	if(i[5]==2) Q5_ans=9;
	if(i[5]==3) Q5_ans=8;
	if(i[5]==4) Q5_ans=7;
	if(i[5]==5) Q5_ans=6;
	if(i[Q5_ans]!=i[5])
	QA[5]=0;
	else
	QA[5]=1;
	
	//Q6
	int Q6_1_sum=0;
	int Q6_2_sum=0;
	int Q6_3_sum=0;
	int Q6_4_sum=0;
	int Q6_5_sum=0;
	int Q6_ans;
	for(j=1;j<=10;j++)
	{
		if(i[j]==1)
		Q6_1_sum++;
		if(i[j]==2)
		Q6_2_sum++;
		if(i[j]==3)
		Q6_3_sum++;
		if(i[j]==4)
		Q6_4_sum++;
		if(i[j]==5)
		Q6_5_sum++;
	}
	
	QA[6]=1;
	
	
	if(i[6]==1){ if(Q6_1_sum!=Q6_2_sum) QA[6]=0;}
	if(i[6]==2){ if(Q6_1_sum!=Q6_3_sum) QA[6]=0;}
	if(i[6]==3){ if(Q6_1_sum!=Q6_4_sum) QA[6]=0;}
	if(i[6]==4){ if(Q6_1_sum!=Q6_5_sum) QA[6]=0;}
	if(i[6]==5){ if(Q6_1_sum==Q6_2_sum||Q6_1_sum==Q6_3_sum||Q6_1_sum==Q6_4_sum||Q6_1_sum==Q6_5_sum) QA[6]=0;}
	
		    
	//Q7
	int Q7_ans;
	if(i[7]==1)Q7_ans=4;
	if(i[7]==2)Q7_ans=3;
	if(i[7]==3)Q7_ans=2;
	if(i[7]==4)Q7_ans=1;
	if(i[7]==5)Q7_ans=0;
	if(abs(i[7]-i[8])!=Q7_ans)
	QA[7]=0;
	else
	QA[7]=1;
	
	//Q8
	int Q8_sum=0;
	for(j=1;j<=10;j++)
	{
		if(i[j]==1||i[j]==5)
		Q8_sum++;
	}
	if(Q8_sum-1!=i[8])
	QA[8]=0;
	else
	QA[8]=1;

	//Q9
	int Q9_sum=0;
	int Q9_ans;
	for(j=1;j<=10;j++)
	{
		if(i[j]==2||i[j]==3||i[j]==4)
		Q9_sum++;
	}
	
	QA[9]=1;
	if(Q9_sum==0){if(i[9]!=5)                   QA[9]=0;}
	if(Q9_sum==1){if(i[9]!=2||i[9]!=3||i[9]!=4) QA[9]=0;} 
	if(Q9_sum==2){if(i[9]!=1||i[9]!=2)          QA[9]=0;}
	if(Q9_sum==3){if(i[9]!=1)                   QA[9]=0;}
	if(Q9_sum==4){if(i[9]!=3)                   QA[9]=0;}
	if(Q9_sum==5){if(i[9]!=1||i[9]!=5)          QA[9]=0;}
	if(Q9_sum==6){if(i[9]!=2)                   QA[9]=0;}
	if(Q9_sum==7){if(i[9]!=1)                   QA[9]=0;}
	if(Q9_sum==8){if(i[9]!=4)                   QA[9]=0;}
	if(Q9_sum==9){if(i[9]!=3)                   QA[9]=0;}
	if(Q9_sum==10){if(i[9]!=5)                  QA[9]=0;}
	
	//Q10
	QA[10]=1;
	
	int o_sum=0;
	for(int lk=1;lk<=10;lk++)
	{
		o_sum+=QA[lk];
	}
	if(o_sum>9)
	{
		return true;
	}
	else
	{
		return false;
	}
}




int main()
{
	  
	
	
	for(i[1]=1;i[1]<=5;i[1]++)
	for(i[2]=1;i[2]<=5;i[2]++)
	for(i[3]=1;i[3]<=5;i[3]++)
	for(i[4]=1;i[4]<=5;i[4]++)
	for(i[5]=1;i[5]<=5;i[5]++)
	for(i[6]=1;i[6]<=5;i[6]++)
	for(i[7]=1;i[7]<=5;i[7]++)
	for(i[8]=1;i[8]<=5;i[8]++)
	for(i[9]=1;i[9]<=5;i[9]++)
	for(i[10]=1;i[10]<=5;i[10]++)
	{
		
		 if(trueans())
		{
			for(int k=1;k<=10;k++)
		    printf("%c~",i[k]+'A'-1);
		    printf("\n");
		
		}
		
		
	}
	
	system("pause");	
	
}









评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值