分享一个逻辑题_一眼望去无法下手

  1. 这道题的答案是

A.A B.B C.C D.D

  1. 第 5 题的答案是

A.C B.D C.A D.B

  1. 以下选项中哪一题的答案与其他三项不同

A. 第 3 题 B. 第 6 题 C. 第 2 题 D. 第 4 题

  1. 以下选项中哪两题的答案相同

A. 第 1,5 题 B. 第 2,7 题 C. 第 1,9 题 D. 第 6,10 题

  1. 以下选项中哪一题的答案与本题相同

A. 第 8 题 B. 第 4 题 C. 第 9 题 D. 第 7 题

  1. 以下选项中哪两题的答案与第 8 题相同

A. 第 2,4 题 B. 第 1,6 题 C. 第 3,10 题 D. 第 5,9 题

  1. 在此十道题中,被选择次数最少的选项字母为

A.C B.B C.A D.D

  1. 以下选项中哪一题的答案与第 1 题的答案在字母表中不相邻

A. 第 7 题 B. 第 5 题 C. 第 2 题 D. 第 10 题

  1. 已知 "第 1 题与第 6 题的答案相同" 与 "第 X 题与第 5 题的答案相同" 的真假性相反,那么 X 为

A. 第 6 题 B. 第 10 题 C. 第 2 题 D. 第 9 题

  1. 在此十道题中,ABCD 四个字母中出现的次数最多者与最少者的差为

A.3 B.2 C.4 D.1

接下来看代码:

cpp 复制代码
#include <stdio.h>
#include <math.h>
/*
 * 
 * 1.这道题的答案是
 * A.A B.B C.C D.D
 * 2.第5题的答案是
 * A.C B.D C.A D.B 
 * 3.以下选项中哪一题的答案与其他三项不同
 * A.第3题 B.第6题 C.第2题 D.第4题
 * 4.以下选项中哪两题的答案相同
 * A.第1,5题 B.第2,7题 C.第1,9题 D.第6,10题
 * 5.以下选项中哪一题的答案与本题相同
 * A.第8题 B.第4题 C.第9题 D.第7题
 * 6.以下选项中哪两题的答案与第8题相同
 * A.第2,4题 B.第1,6题 C.第3,10题 D.第5,9题
 * 7.在此十道题中,被选择次数最少的选项字母为
 * A.C B.B C.A D.D
 * 8.以下选项中哪一题的答案与第1题的答案在字母表中不相邻
 * A.第7题 B.第5题 C.第2题 D.第10题
 * 9.已知"第1题与第6题的答案相同"与"第X题与第5题的答案相同"的真假性相反,那么X为
 * A.第6题 B.第10题 C.第2题 D.第9题
 * 10.在此十道题中,ABCD四个字母中出现的次数最多者与最少者的差为
 * A.3 B.2 C.4 D.1
 * 
 * */

int MinTimes(int a[],int n)
{
	int i,abcd[4]={0};
	for(i=0;i<n;i++) abcd[a[1+i]]++;

	int min=abcd[0],j=0;
	for(i=0;i<4;i++)
	{
		if(min>abcd[i]) {min=abcd[i]; j=i;}
	}
	return j;
}

int main(int argc, char* argv[])
{ 
	int i;
	int a[11];
	for(a[1]=0;a[1]<4;a[1]++)
		for(a[2]=0;a[2]<4;a[2]++)
			for(a[3]=0;a[3]<4;a[3]++)
				for(a[4]=0;a[4]<4;a[4]++)
					for(a[5]=0;a[5]<4;a[5]++)
						for(a[6]=0;a[6]<4;a[6]++)
							for(a[7]=0;a[7]<4;a[7]++)
								for(a[8]=0;a[8]<4;a[8]++)
									for(a[9]=0;a[9]<4;a[9]++)
										for(a[10]=0;a[10]<4;a[10]++)
	{ 
		// 2.第5题的答案是 A.C B.D C.A D.B 
		if(a[2]==0 && a[5]==2 ) {;} 
		else if (a[2]==1 && a[5]==3){;} 
		else if (a[2]==2 && a[5]==0){;}
		else if (a[2]==3 && a[5]==1){;} 
		else continue;//下一个候选者

		//3.以下选项中哪一题的答案与其他三项不同 A.第3题 B.第6题 C.第2题 D.第4题
		if(a[3]==0 && a[3]!=a[6] && a[6]==a[2] && a[2]==a[4]) {;}
		else if(a[3]==1 && a[6]!=a[3] && a[3]==a[2] && a[2]==a[4]) {;}
		else if(a[3]==2 && a[2]!=a[6] && a[6]==a[3] && a[3]==a[4]) {;}
		else if(a[3]==3 && a[4]!=a[6] && a[6]==a[2] && a[2]==a[3] ){;}
		else continue;

		//4.以下选项中哪两题的答案相同 A.第1,5题 B.第2,7题 C.第1,9题 D.第6,10题
		if(a[4]==0 && a[1]==a[5]) {;}
		else if(a[4]==1 && a[2]==a[7]) {;}
		else if(a[4]==2 && a[1]==a[9]) {;}
		else if(a[4]==3 && a[6]==a[10]) {;}
		else continue;

		//5.以下选项中哪一题的答案与本题相同 A.第8题 B.第4题 C.第9题 D.第7题

		if(a[5]==0 && a[8]==a[5]) {;}
		else if(a[5]==1 && a[4]==a[5]) {;}
		else if(a[5]==2 && a[9]==a[5]) {;}
		else if(a[5]==3 && a[7]==a[5]) {;}
		else continue;

		//6.以下选项中哪两题的答案与第8题相同A.第2,4题 B.第1,6题 C.第3,10题 D.第5,9题
		if(a[6]==0 && a[8]==a[2] && a[8]==a[4] ) {;}
		else if(a[6]==1 && a[8]==a[1] && a[8]==a[6]) {;}
		else if(a[6]==2 && a[8]==a[3] && a[8]==a[10]) {;}
		else if(a[6]==3 && a[8]==a[5] && a[8]==a[9]) {;}
		else continue;

		//8.以下选项中哪一题的答案与第1题的答案在字母表中不相邻 A.第7题 B.第5题 C.第2题 D.第10题
		if(a[8]==0 && (abs(a[7]-a[1])!=1) && (abs(a[5]-a[1])==1) && (abs(a[2]-a[1])==1) && (abs(a[10]-a[1])==1) ) {;}
		else if(a[8]==1 && (abs(a[5]-a[1])!=1) && (abs(a[7]-a[1])==1) && (abs(a[2]-a[1])==1) && (abs(a[10]-a[1])==1) ) {;}
		else if(a[8]==2 && (abs(a[2]-a[1])!=1) && (abs(a[7]-a[1])==1) && (abs(a[5]-a[1])==1) && (abs(a[10]-a[1])==1) ) {;}
		else if(a[8]==3 && (abs(a[10]-a[1])!=1) && (abs(a[7]-a[1])==1) && (abs(a[5]-a[1])==1) && (abs(a[2]-a[1])==1) ) {;}
		else continue;

		//9.已知"第1题与第6题的答案相同"与"第X题与第5题的答案相同"的真假性相反,那么X为A.第6题 B.第10题 C.第2题 D.第9题
		if(a[9]==0 && ((a[1]==a[6]) ^ (a[6]==a[5] ) ) ) {;}
		else if(a[9]==1 && ((a[1]==a[6]) ^ (a[10]==a[5] ) ) ) {;}
		else if(a[9]==2 && ((a[1]==a[6]) ^ (a[2]==a[5] ) ) ) {;}
		else if(a[9]==3 && ((a[1]==a[6]) ^ (a[9]==a[5] ) ) ) {;}
		else continue;
		//7.在此十道题中,被选择次数最少的选项字母为 
		if(a[7]==0 && MinTimes(a,10)==2){;}
		else if(a[7]==1 && MinTimes(a,10)==1){;}
		else if(a[7]==2 && MinTimes(a,10)==0){;}
		else if(a[7]==3 && MinTimes(a,10)==3){;}
		else continue;

		//10.不处理


		printf("本试题的答案为:");

		for(i=1;i<=10;i++) printf(" %c",a[i]+'a');
	}
	printf("\n");
	return 0;
}

看输出结果:

cpp 复制代码
本试题的答案为: b c a c a c d a b a
相关推荐
洛水水23 分钟前
【力扣100题】76.搜索插入位置
数据结构·算法·leetcode
Techblog of HaoWANG26 分钟前
智巡守卫:多模态巡检智能体算法服务端设计与实现——基于Ollama+Qwen3.5的自动化巡检报告生成系统
运维·人工智能·算法·目标检测·自动化·边缘计算
小蒋学算法37 分钟前
算法-灌溉花园的最少龙头数目-贪心
算法
满怀冰雪37 分钟前
第07篇-差分算法-高效处理区间修改问题
数据结构·算法
KaMeidebaby39 分钟前
卡梅德生物技术快报|重组蛋白的表达和纯化:工艺调试全记录:大肠杆菌体系重组蛋白的表达和纯化参数标定(肠激酶轻链案例)
前端·人工智能·算法·数据挖掘·数据分析
ZPC82101 小时前
如何将机械臂末端定位精度提升至微米如何进行标定
人工智能·算法·机器人
wabs6661 小时前
关于动态规划【力扣343.整数拆分的递推公式怎么理解?】
算法·leetcode·动态规划
测试狗科研平台1 小时前
第一性原理CO2还原反应计算流程和软件推荐
科技·算法·云计算
SEO_juper1 小时前
2026 谷歌 SEO&GEO 常见问题合集:收录、排名、内容、技术全解析
算法·谷歌·常见问题·seo·跨境电商·外贸·geo
叫我:松哥1 小时前
基于卷积神经网络的静态手势语识别算法,在测试集上的识别准确率达到97.5%
人工智能·python·深度学习·神经网络·算法·cnn