Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程,前面课程中给大家讲解了一些常规的知识点,那么本次课,我们一起来练习挑战一下!!
本套课程将会从0基础讲解C语言核心技术,适合人群:
- 大学中开设了C语言课程的同学
- 想要专升本或者考研的同学
- 想要考计算机等级证书的同学
- 想要从事C/C++/嵌入式开发的同学
================点个关注吧================
=========================================
f 2.12 逻辑思维:鸡兔同笼
【题目需求】
今有稚兔同笼,上有 35 头,下有 94 足,问稚兔几何?
现在有若干只鸡,若干只兔,丢到一个笼子里
从上面看有 35 个头
从下面看 94 只脚
问有多少只兔子多少只鸡
【参考代码】
/**
【题目需求】
今有稚兔同笼,上有 35 头,下有 94 足,问稚兔几何?
现在有若干只鸡,若干只兔,丢到一个笼子里
从上面看有 35 个头
从下面看 94 只脚
问有多少只兔子多少只鸡**/#include <stdio.h>int main(){//从上面看有 35 个头 ,鸡和兔子都只有1个头// 假设鸡哥x只,那么兔子就有35-x只// 从0开始假设鸡的数量// 1. 先假设鸡有0只,兔子就有35-0只, 再看脚是否满足94只// 2. 鸡有1只 ,兔子有35-1只 再看脚是否满足94只// 3. 鸡有2只 ,兔子有35-2只 再看脚是否满足94只// ......// 4. 鸡有35只,兔子0只 再看脚是否满足94只for(int x=0;x<=35;x++){ // 假设法:x是鸡的数量// 条件1:从上面看有 35 个头// 计算兔子数量int y = 35-x;//从下面看 94 只脚//鸡哥2只脚,兔子有4只脚if(x*2+y*4==94){printf("鸡的数量:%d,兔子的数量:%d\n",x,y);}}return 0;
}
f 2.13 逻辑思维:兔子生崽
假设一对兔子从第三个月开始,生下下一对兔子。假设兔子不死。生下来的兔子同样从第三个月开始,生下一对兔子。
问 N 个月之后,一共有多少只兔子。
【参考代码】
/**
假设一对兔子从第三个月开始,每个月都生下下一对兔子。
假设兔子不死。生下来的兔子同样从第三个月开始,每个月生下一对兔子。
问 N 个月之后,一共有多少只兔子。第1个月: 1 1 num1
第2个月: 1 1 num2 num1
第3个月: 1 1 2 sum num2 num1
第4个月: 1 1 1 3 sum num2
第5个月: 1 1 1 1 1 5 sum
第6个月: 1 1 1 1 1 1 1 1 8
第7个月: 1 1 1 1 1 1 1 1 1 1 1 1 1 13从第3个月开始,当前月份的兔子对数是前两个月兔子对数的和**/#include <stdio.h>int main(){int month = 0;// 月数printf("请输入月数:");scanf("%d",&month);int num1 = 1;// 前前一个月的兔子对数int num2 = 1;// 前一个月的兔子对数int sum = 0; // 计算和if(month<=2){printf("第%d个月后,一共有%d只兔子\n",month, 2);}else{// 第3个月开始,兔子的对数,就前面两个月的对数和for(int i=3;i<=month;i++){// num1 前前一个月的兔子对数// num2 前一个月的兔子对数sum = num1+num2;// 重新调整 前前一个月的兔子对数和前一个月的兔子对数// 方便计算下一个月的对数num1=num2;num2=sum;}printf("第%d个月之后,一共有%d对兔子,共%d只\n",month,sum,sum*2 );}return 0;
}