当前位置: 首页 > article >正文

鸡兔同笼问题

鸡兔同笼问题是这样一个问题:
现有鸡、兔合装在一个笼子里。数头一共100个头,数脚一共300只脚。问有多少只鸡多少只兔?

在这里讨论这个问题的解法当然太小儿科了。但是y_tab这个C语言解释器只提供了1维数组。如果需要用到2维数组时,该怎么做?

现在演示用行列式和克莱姆法则求解这个问题。
方程组:
ax +by =e;
cx +dy =f;
系数矩阵为:
2 4 300
1 1 100

写成数组是,
a[] = {
2, 4, 300,
1, 1, 100
};
func i(row, col) {return row*3+col;}

函数i()对2维数组作下标转换。所以这道题的系数矩阵就是:
a[i(0,0)] a[i[0,1)] a[i(0,2)]
a[i(1,0)] a[i(1,1)] a[i(1,2)]

所以求解是,
func det(a,b,c,d) {return a*d -b*c;}

detx= det(a[i(0,2)], a[i(0,1)], a[i(1,2)], a[i(1,1)]);
dety= det(a[i(0,0)], a[i(0,2)], a[i(1,0)], a[i(1,2)]);
deta= det(a[i(0,0)], a[i(0,1)], a[i(1,0)], a[i(1,1)]);

print “x,y:”, detx/deta, dety/deta;

答案是50 50。

a[] = {
2, 4, 300,
1, 1, 100
};
func i(row, col) {return row*3+col;}

func det(a,b,c,d) {return a*d -b*c;}

detx= det(a[i(0,2)], a[i(0,1)], a[i(1,2)], a[i(1,1)]);
dety= det(a[i(0,0)], a[i(0,2)], a[i(1,0)], a[i(1,2)]);
deta= det(a[i(0,0)], a[i(0,1)], a[i(1,0)], a[i(1,1)]);

print "x,y:", detx/deta, dety/deta;


http://www.kler.cn/a/551352.html

相关文章:

  • 【nvidia】NCCL禁用P2P后果权衡
  • 软件测试技术之跨平台的移动端UI自动化测试(上)
  • 毕业设计—基于Spring Boot的社区居民健康管理平台的设计与实现
  • ubuntu 22.04 安装vsftpd服务
  • HarmonyOS组件之Tabs
  • Kafka偏移量管理全攻略:从基础概念到高级操作实战
  • uniapp PDF 预览和下载
  • 一.AI大模型开发-初识机器学习
  • vm vitualbox和主机ssh连接,使用net 和仅主机网卡连接
  • HarmonyOS开发 - 记事本实例二(关系型数据库数据存储)
  • Kubernetes实战教程:基于Vue前端与Java后端的应用部署
  • 数据结构:Map Set(一)
  • 蓝桥杯 Java B 组之简单数学问题(素数判断、最大公约数)
  • Golang并发编程最佳实践:协程与通道
  • jar命令解压jar包及更新jar的配置文件
  • 机器视觉--图像的运算(加法)
  • 管理WSL实例 以及安装 Ubuntu 作为 WSL 子系统 流程
  • 【DeepSeek问答】QProcess::start是异步的吗?会使UI卡顿吗?
  • Playwright入门之---命令
  • 基于MATLAB的城轨车辆跨接电缆长度计算