用C语言解决这样一个问题:在区间[a,b]和区间[c,d]中分别等概率随机选择一个整数,两者异或之后等于0的概率是多少?
为了防止精度误差,需要输出一个形如a/b的最简分数。特别的,如果概率为0,你需要输出0/1。
下面是具体的输入输出描述:
2条回答 默认 最新
关注 #include <stdio.h> // 求最大公约数 int gcd(int a, int b) { if (b == 0) { return a; } else { return gcd(b, a % b); } } int main() { int a, b, c, d; scanf("%d %d %d %d", &a, &b, &c, &d); int count = 0; for (int i = a; i <= b; i++) { for (int j = c; j <= d; j++) { if ((i ^ j) == 0) { count++; } } } int totalNumbers = (b - a + 1) * (d - c + 1); int commonDivisor = gcd(count, totalNumbers); if (count == 0) { printf("0/1"); } else { printf("%d/%d", count / commonDivisor, totalNumbers / commonDivisor); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 根据历年月数据,用Stata预测未来六个月汇率
- ¥15 DevEco studio开发工具 真机联调找不到手机设备
- ¥15 请教前后端分离的问题
- ¥100 冷钱包突然失效,急寻解决方案
- ¥15 下载honeyd时报错 configure: error: you need to instal a more recent version of libdnet
- ¥15 距离软磁铁一定距离的磁感应强度大小怎么求
- ¥15 霍尔传感器hmc5883l的xyz轴输出和该点的磁感应强度大小的关系是什么
- ¥15 vscode开发micropython,import模块出现异常
- ¥20 Excel数据自动录入表单并提交
- ¥30 silcavo仿真,30分钟,只需要代码