暴力枚举(一)

本文包含一系列编程逻辑问题,如参赛学生判断、侦察任务选择、谎言侦探和数学巧合的解析。通过暴力枚举方法解决这些逻辑约束问题,揭示了计算机在解决此类问题中的应用。
摘要由CSDN通过智能技术生成

1、A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些

人参加了竞赛:

(1)A参加时,B也参加;

(2)B和C只有一个人参加;

(3)C和D或者都参加,或者都不参加;

(4)D和E中至少有一个人参加;

(5)如果E参加,那么A和D也都参加。

public class Main{
     
    public static void main(String[] args) {
   
    	   //0代表不参加,1代表参加
    		for(int a=0;a<2;a++){
   
    			for(int b=0;b<2;b++){
   
    				for(int c=0;c<2;c++){
   
    					for(int d=0;d<2;d++){
   
    						for(int e=0;e<2;e++){
   
    							if( a == 1 && b == 0)  continue;
    							if((b ^ c) == 0)     continue;
    							if((c ^ d) == 1)     continue;
    							if(d==0 && e==0)         continue;
    							if(e == 1 && (a!=1 || d!=1))   continue;
    							System.out.println(a+""+b+""+c+""+d+""+e);						
    						}
    					}
    				}
    			}
    		}
    	}
     }

2、某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:

1)A和B两人中至少去一人;

2)A和D不能一起去;

3)A、E和F三人中要派两人去;

4)B和C都去或都不去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值