public class Question{
public static void main(String[] args){
Question.t1();
}
/*用程序求解:
请回答下面10个题目
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
*/
private static void t1(){
//先枚举各个题目的答案的组合的可能性
for(int a1=1;a1<=5;a1++){
for(int a2=1;a2<=5;a2++){
for(int a3=1;a3<=5;a3++){
for(int a4=1;a4<=5;a4++){
for(int a5=1;a5<=5;a5++){
for(int a6=1;a6<=5;a6++){
for(int a7=1;a7<=5;a7++){
for(int a8=1;a8<=5;a8++){
for(int a9=1;a9<=5;a9++){
for(int a10=1;a10<=5;a10++){
//按照标记进行过滤
if(timu1(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&timu2(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&timu3(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&timu4(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&timu5(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&timu6(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&timu7(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&timu8(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&timu9(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)){
System.out.println("a1=="+a1+"\n"+"a2=="+a2+"\n"+"a3=="+a3+"\n"+"a4=="+a4+"\n"+"a5=="+a5+"\n"
+"a6=="+a6+"\n"+"a7=="+a7+"\n"+"a8=="+a8+"\n"+"a9=="+a9+"\n"+"a10=="+a10);
}
}
}
}
}
}
}
}
}
}
}
}
private static boolean timu1(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
//1、第一个答案是b的问题是哪一个?
//(a)2; (b)3; (c)4; (d)5; (e)6
if((a1==1&&a2==2)||(a1==2&&a3==2&&a1!=2&&a2!=2)||(a1==3&&a4==2&&a2!=2&&a3!=2)||(a1==4&&a5==2&&a2!=2&&a3!=2&&a4!=2)
&&(a1==5&&a6==2&&a2!=2&&a3!=2&&a4!=2&&a5!=2)){
return true;
}
return false;
}
private static boolean timu2(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
//2、唯一的连续两个具有相同答案的问题是:
//(a)2,3; (b)3,4; (c)4,5; (d)5,6; (e)6,7
if((a2==1&&a2==a3&&a1!=a2&&a3!=a4&&a4!=a5&&a5!=a6&&a6!=a7&&a7!=a8&&a8!=a9&&a9!=a10)
||(a2==2&&a1!=a2&&a2!=a3&&a3==a4&&a4!=a5&&a5!=a6&&a6!=a7&&a7!=a8&&a8!=a9&&a9!=a10)
||(a2==3&&a1!=a2&&a2!=a3&&a3!=a4&&a4==a5&&a5!=a6&&a6!=a7&&a7!=a8&&a8!=a9&&a9!=a10)
||(a2==4&&a1!=a2&&a2!=a3&&a3!=a4&&a4!=a5&&a5==a6&&a6!=a7&&a7!=a8&&a8!=a9&&a9!=a10)
||(a2==5&&a1!=a2&&a2!=a3&&a3!=a4&&a4!=a5&&a5!=a6&&a6==a7&&a7!=a8&&a8!=a9&&a9!=a10)){
return true;
}
return false;
}
private static boolean timu3(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
//3、本问题的答案和哪一个问题的答案相同?
//(a)1; (b)2; (c)4; (d)7; (e)6
if((a3==1&&a3==a1)||(a3==2&&a3==a2)||(a3==3&&a3==a4)||(a3==4&&a3==a7)||(a3==5&&a3==a6)){
return true;
}
return false;
}
private static boolean timu4(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
// 4、答案是a的问题的个数是:
//(a)0; (b)1; (c)2; (d)3; (e)4
if((a4==1&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==0)
||(a4==2&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==1)
||(a4==3&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==2)
||(a4==4&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==3)
||(a4==5&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==4)){
return true;
}
return false;
}
private static boolean timu5(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
//5、本问题答案和哪一个问题的答案相同?
//(a)10; (b)9; (c)8; (d)7; (e)6
if((a5==1&&a5==a10)||(a5==2&&a5==a9)||(a5==3&&a5==a8)||(a5==4&&a5==a7)||(a5==5&&a5==a6)){
return true;
}
return false;
}
private static boolean timu6(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
//6、答案是a的问题的个数和答案是什么的问题的个数相同?
//(a)b; (b)c; (c)d; (d)e; (e)以上都不是
if((a6==1&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==sumGeshu(2,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10))
||(a6==2&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==sumGeshu(3,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10))
||(a6==3&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==sumGeshu(4,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10))
||(a6==4&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==sumGeshu(5,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10))
||(a6==5&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)!=sumGeshu(2,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)!=sumGeshu(3,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)!=sumGeshu(4,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)!=sumGeshu(5,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10))){
return true;
}
return false;
}
private static boolean timu7(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
//7、按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?
//(a)4; (b)3; (c)2; (d)1; (e)0 (注:a和b相差一个字母)
if((a7==1&&Math.abs(a8-a7)==4)||(a7==2&&Math.abs(a8-a7)==3)||(a7==3&&Math.abs(a8-a7)==2)
||(a7==4&&Math.abs(a8-a7)==1)||(a7==5&&Math.abs(a8-a7)==0)){
return true;
}
return false;
}
private static boolean timu8(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
//8、答案是元音字母的问题的个数是:
//(a)2; (b)3; (c)4; (d)5; (e)6 (注:a和e是元音字母)
if((a8==1&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(5,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==2)
||(a8==2&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(5,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==3)
||(a8==3&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(5,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==4)
||(a8==4&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(5,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==5)
||(a8==5&&sumGeshu(1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(5,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)==6)){
return true;
}
return false;
}
private static boolean timu9(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
//9、答案是辅音字母的问题的个数是:
//(a)一个质数; (b)一个阶乘数; (c)一个平方数; (d)一个立方数; (e)5的倍数
if((a9==1&&zhiShu(sumGeshu(2,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(3,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(4,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)))
||(a9==2&&jiechengShu(sumGeshu(2,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(3,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(4,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)))
||(a9==3&&pingfangShu(sumGeshu(2,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(3,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(4,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)))
||(a9==4&&lifangShu(sumGeshu(2,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(3,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(4,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)))
||(a9==5&&wubeiShu(sumGeshu(2,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(3,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)+sumGeshu(4,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)))){
return true;
}
return false;
}
private static boolean zhiShu(int a){
if(a==2){
return true;
}
for(int i=2;i<a;i++){
if(a%i==0){
return false;
}
}
return true;
}
private static boolean jiechengShu(int a){
int v = 1;
for(int i=1;i<a;i++){
v=v*i;
if(a==v){
return true;
}
}
return false;
}
private static boolean pingfangShu(int a){
for(int i=0;i<a;i++){
if(a==(i*i)){
return true;
}
}
return false;
}
private static boolean lifangShu(int a){
for(int i=0;i<a;i++){
if(a==(i*i*i)){
return true;
}
}
return false;
}
private static boolean wubeiShu(int a){
if(a%5==0){
return true;
}
return false;
}
private static int sumGeshu(int answer,int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
int sum = 0;
if(a1==answer){
sum += 1;
}
if(a2==answer){
sum += 1;
}
if(a3==answer){
sum += 1;
}
if(a4==answer){
sum += 1;
}
if(a5==answer){
sum += 1;
}
if(a6==answer){
sum += 1;
}
if(a7==answer){
sum += 1;
}
if(a8==answer){
sum += 1;
}
if(a9==answer){
sum += 1;
}
if(a10==answer){
sum += 1;
}
return sum;
}
}
运用java求逻辑性相关的题目
最新推荐文章于 2021-02-20 02:21:30 发布