当前位置:   article > 正文

鸡兔同笼问题:利用Scratch C/C++ Python解决_鸡兔同笼 scratch编程

鸡兔同笼 scratch编程

文章目录:

一:问题

二:解决办法 

1.通过Scratch解决

2.通过C/C++解决

3.通过Python解决


一:问题

  1. 该问题大约在1500年前的《孙子算经》中就有记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”
  2. 解释:鸡兔一个笼子35个头,一共有94只脚,问鸡和兔有多少?
  3. 传统方法
  4. 1.全鸡:35只 兔:0
  5. 2.全兔:35只 鸡:0
  6. 3. 鸡x 兔35-x (兔x 鸡35-x)
  7. x*2+(35-x)*4=94
  8. x=23 35-23=12
  9. 《孙子算经》方法:脚多的
  10. 脚数/2-头数=兔数 头数-兔数=鸡数
  11. 94/2-35=12 35-12=23
  12. ------------------------------------------------------------------------------------
  13. 有鸡兔共20只,脚44只,鸡兔各几只?
  14. 44/2-20=2 20-2=18

二:解决办法 

1.通过Scratch解决

 效果图◕‿◕✌✌✌

Scratch鸡兔同笼问题


 

2.通过C/C++解决

  1. #include <iostream> // 包含iostream头文件以使用cout
  2. using namespace std; // 使用std命名空间,这样可以直接写cout而不是std::cout
  3. void test1(int tousum,int zhisum){
  4. int rabbit = 0, chicken = 0;
  5. // 检查是否有解,并且解是合理的(即非负整数)
  6. if (zhisum % 2 == 0 && zhisum / 2 >= tousum) {
  7. rabbit = zhisum / 2 - tousum;
  8. chicken = tousum - rabbit;
  9. if (rabbit >= 0 && chicken >= 0) {
  10. cout << "鸡的数量:" << chicken << ",兔的数量:" << rabbit << endl;
  11. } else {
  12. cout << "无解或解不是非负整数。" << endl;
  13. }
  14. } else {
  15. cout << "无解,因为总腿数必须是偶数,且至少和总头数一样多。" << endl;
  16. }
  17. }
  18. void test2(int tousum,int zhisum){
  19. int chicken;
  20. int rabbit;
  21. for (chicken = 1; chicken <= tousum; chicken = chicken + 1) {
  22. for (rabbit = 1; rabbit <= tousum; rabbit = rabbit + 1) {
  23. if (chicken * 1 + rabbit * 1 == tousum) {
  24. if (chicken * 2 + rabbit * 4 == zhisum) {
  25. cout << "鸡的数量:" << chicken << ",兔的数量:" << rabbit << endl; // 添加endl以换行
  26. }
  27. }
  28. }
  29. }
  30. }
  31. int main() { // main函数声明返回int类型
  32. test1(20,44);
  33. test2(20,44);
  34. system("pause");
  35. return 0; // main函数返回0,表示程序正常退出
  36. }

运行结果 

3.通过Python解决

  1. def test1(tousum, zhisum):
  2. # 检查是否有解,并且解是合理的(即非负整数)
  3. if zhisum % 2 == 0 and zhisum // 2 >= tousum:
  4. rabbit = zhisum // 2 - tousum
  5. chicken = tousum - rabbit
  6. if rabbit >= 0 and chicken >= 0:
  7. print("鸡的数量:", chicken, ",兔的数量:", rabbit)
  8. else:
  9. print("无解或解不是非负整数。")
  10. else:
  11. print("无解,因为总腿数必须是偶数,且至少和总头数一样多。")
  12. def test2(tousum, zhisum):
  13. for chicken in range(1, tousum + 1):
  14. for rabbit in range(1, tousum + 1):
  15. if chicken + rabbit == tousum:
  16. if chicken * 2 + rabbit * 4 == zhisum:
  17. print("鸡的数量:", chicken, ",兔的数量:", rabbit)
  18. # 调用函数进行测试
  19. tousum = 20 # 总头数
  20. zhisum = 44 # 总腿数
  21. test1(tousum, zhisum)
  22. test2(tousum, zhisum)

运行结果  

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/662853
推荐阅读
相关标签
  

闽ICP备14008679号