九日哥比较喜欢做一些逻辑推理题,因为觉得自己智商碉堡୧(๑•̀•́๑)૭
有一天看到网上一道比较好玩的逻辑推理
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"); }
共同学习,写下你的评论
评论加载中...
作者其他优质文章