用程序求解:
请回答下面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。
请回答下面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。
(a)一个质数;(b)一个阶乘数;(c)一个平方数;(d)一个立方数,(e)5的倍数
public static void main(String[] args){
Question.t1();
}
private static void t1(){
//1:先枚举各个题目的答案的组合可能性
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++){
//2:按照条件进行过滤
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+",a2="+a2+",a3="+a3+",a4="+a4+",a5="+a5+",a6="+a6+",a7="+a7+",a8="+a8+",a9="+a9+",a10="+a10);
}
}
}
}
}
}
}
}
}
}
}
}
// 1、第一个答案是b的问题是哪一个?
// (a)2;(b) 3;(c)4;(d)5;(e)6
private static boolean timu1(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
if((a1==1 && a2==2) || (a1==2 && a3==2 && a1!=2 && a2!=2)
|| (a1==3 && a4==2 && a1!=2 && a2!=2 && a3!=2)
|| (a1==4 && a5==2 && a1!=2 && a2!=2 && a3!=2 && a4!=2)
|| (a1==5 && a6==2 && a1!=2 && a2!=2 && a3!=2 && a4!=2 && a5!=2)
){
return true;
}
return false;
}
// 2、唯一的连续两个具有相同答案的问题是:
// (a)2,3;(b)3,4;(c)4,5;(d)5,6;(e)6,7;
private static boolean timu2(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
if(
(a2==1 && a2==a3 && a1!=a2 && a3!=a4 && a4!=a5 && a5!=a6 && a6!=a7 && a7!=a8 && a8!=a9 && a9!=a10)
|| (a2==2 && a3==a4 && a1!=a2 && a2!=a3 && a4!=a5 && a5!=a6 && a6!=a7 && a7!=a8 && a8!=a9 && a9!=a10)
|| (a2==3 && a4==a5 && a1!=a2 && a2!=a3 && a3!=a4 && a5!=a6 && a6!=a7 && a7!=a8 && a8!=a9 && a9!=a10)
|| (a2==4 && a5==a6 && a1!=a2 && a2!=a3 && a3!=a4 && a4!=a5 && a6!=a7 && a7!=a8 && a8!=a9 && a9!=a10)
|| (a2==5 && a6==a7 && a1!=a2 && a2!=a3 && a3!=a4 && a4!=a5 && a5!=a6 && a7!=a8 && a8!=a9 && a9!=a10)
){
return true;
}
return false;
}
//3、本问题答案和哪一个问题的答案相同?
//(a)1;(b)2;(c)4;(d)7;(e)6
private static boolean timu3(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
if((a3==1 && a1==a3) || (a3==2 && a2==a3) || (a3==3 && a4==a3)
|| (a3==4 && a7==a3) || (a3==5 && a6==a3)
){
return true;
}
return false;
}
//答案是a的问题的个数是:
// (a)0;(b)1;(c)2;(d)3;(e)4
private static boolean timu4(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
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;
}
//5、本问题答案和哪一个问题的答案相同?
// (a)10;(b)9;(c)8;(d)7;(e)6
private static boolean timu5(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
if((a5==1 && a10==a5) || (a5==2 && a9==a5) || (a5==3 && a8==a5)
|| (a5==4 && a7==a5) || (a5==5 && a6==a5)
){
return true;
}
return false;
}
//6:答案是a的问题的个数和答案是什么的问题的个数相同?
// (a)b;(b)c;(c)d;(d)e;(e)以上都不是
private static boolean timu6(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
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;
}
//7:按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?
//(a)4;(b)3;(c)2;(d)1;(e)0。(注:a和b相差一个字母)
private static boolean timu7(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
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;
}
//答案是元音字母的问题的个数是:
//(a)2;(b)3;(c)4;(d)5;(e)6。(注:a和e是元音字母)
private static boolean timu8(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
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;
}
//答案是辅音字母的问题的个数是:
// (a)一个质数;(b)一个阶乘数;(c)一个平方数;(d)一个立方数,(e)5的倍数
private static boolean timu9(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9,int a10){
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 && jieCheng(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 && pingFang(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 && liFang(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 && (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)) % 5==0 )
){
return true;
}
return false;
}
private static boolean liFang(int a){
for(int i=1;i<a;i++){
if(i*i*i==a){
return true;
}
}
return false;
}
private static boolean pingFang(int a){
for(int i=1;i<a;i++){
if(i*i==a){
return true;
}
}
return false;
}
private static boolean jieCheng(int a){
int v = 1;
for(int i=1;i<a;i++){
v = v * i;
if(v==a){
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 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;
}}不是我做的,我也是抄来的