2 条题解

  • 1
    @ 2026-1-4 13:07:06

    🏍

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	for(int i=1;i<=49;i++){
    		for(int j=1;j<=49;j++){
    			if(i+j==50&&i*2+j*4==160){
    				cout<<i<<" "<<j;
    			}
    		}
    	}
    		
    	return 0;
    } 
    
    • -1
      @ 2025-10-23 18:21:28

      思路分析

      1. 任务拆解:

      • 已知总头数50个,总腿数160条
      • 鸡有2条腿,兔有4条腿
      • 求鸡和兔各有多少只

      2. 关键点分析:

      • 使用双重循环枚举所有可能的鸡兔数量组合
      • 鸡的数量i从0到50,兔的数量a从0到50
      • 检查两个条件同时满足:
        • i + a = 50 (头数总和)
        • 2×i + 4×a = 160 (腿数总和)

      3. 步骤规划:

      • 外层循环枚举鸡的数量(0到50)
      • 内层循环枚举兔的数量(0到50)
      • 检查当前组合是否满足头数和腿数条件
      • 输出满足条件的组合

      4. 代码对应:

      • for(int i=0;i<=50;i++) → 枚举鸡的数量
      • for(int a=0;a<=50;a++) → 枚举兔的数量
      • if(a+i==50&&a*4+i*2==160) → 检查头数和腿数条件
      • cout<<i<<" "<<a; → 输出鸡和兔的数量
      • 1

      信息

      ID
      16
      时间
      1000ms
      内存
      16MiB
      难度
      5
      标签
      (无)
      递交数
      1068
      已通过
      435
      上传者