手记

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

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

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

             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");		}










0人推荐
随时随地看视频
慕课网APP

热门评论

。。。果然是闲的蛋疼

查看全部评论