可称1~40磅的4块砝码
来源:互联网 发布:淘宝一分钱购物 编辑:程序博客网 时间:2024/05/16 16:08
法国数学家梅齐亚克在他著名的《数字组合游戏》(1962)中提出了一个问题:一位商人有一个重40磅的砝码,一天不小心将砝码摔成了四块。后来商人称得每块的重量都是整磅数,而且发现这四块碎片可以在天平上称1至40磅之间的任意重量。请问这四块碎片各重多少?
*问题分析与算法设计
本题是上一题的发展。题目中给出的条件是“在天平上”,这意味着:同一砝码既可以放在天平的左侧,也可以放在天平的右侧。若规定重物只能放在天平的左侧,则当天平平衡时有:
重物重量+左侧砝码重量总和=右侧砝码重量总和
由此可得:
重物重量=右侧砝码重量总和-左侧砝码重量总和
编程时只要根据以上公式,使“右侧砝码重量总和-左侧砝码重量总和”可以表示1到40之间的全部重量即可。编程中要注意的是:怎样采用一种简单的方法来表示一个砝码是在天平的左侧还是在天平的右侧,或是根本没有使用。
以下程序采用1、 -1和0分别表示上述三种情况,请注意理解。
The weight is broke up as following 4 pieces: 1 3 9 27
*问题分析与算法设计
本题是上一题的发展。题目中给出的条件是“在天平上”,这意味着:同一砝码既可以放在天平的左侧,也可以放在天平的右侧。若规定重物只能放在天平的左侧,则当天平平衡时有:
重物重量+左侧砝码重量总和=右侧砝码重量总和
由此可得:
重物重量=右侧砝码重量总和-左侧砝码重量总和
编程时只要根据以上公式,使“右侧砝码重量总和-左侧砝码重量总和”可以表示1到40之间的全部重量即可。编程中要注意的是:怎样采用一种简单的方法来表示一个砝码是在天平的左侧还是在天平的右侧,或是根本没有使用。
以下程序采用1、 -1和0分别表示上述三种情况,请注意理解。
#include <stdio.h>#include <math.h>int main(){ int weight1, weight2, weight3, weight4, d1, d2, d3, d4, x, flag; printf("The weight is broke up as following 4 pieces:"); for (weight1 = 1; weight1 <= 40; weight1++) for (weight2 = weight1 + 1; weight2 <= 40 - weight1; weight2++) for (weight3 = weight2 + 1; weight3 <= 40 - weight1 - weight2; weight3++) if ((weight4 = 40 - weight1 - weight2 - weight3) >= weight3) { for (flag = 1, x = 1; x < 41 && flag; x++) for (flag = 0, d1 = 1; d1 > -2;d1--) for (d2 = 1; d2 > -2 && !flag; d2--) for (d3 = 1; d3 > -2 && !flag; d3--) for (d4 = 1; d4 > -2 && !flag; d4--) if(x == weight1*d1 + weight2*d2 + weight3*d3 + weight4*d4) { flag = 1; } if(flag) { printf("%d %d %d %d\n", weight1, weight2, weight3, weight4); } } return 0;}
The weight is broke up as following 4 pieces: 1 3 9 27
阅读全文
0 0
- 转:可称1~40磅的4块砝码
- 可称1~40磅的4块砝码
- 可称1~40磅的四块砝码
- 数的变幻(可称1~40磅的4块砝码)
- (百例编程)74.可称1~40磅的4块砝码
- 我们用一个等臂天平来称物体的质量,如果我们要称的物体质量范围在1到40克(整数),请问我们最少需要几块砝码可以完成这项物体质量的称量?
- 我们用一个等臂天平来称物体的质量,如果我们要称的物体质量范围在1到40克(整数),请问我们最少需要几块砝码可以完成这项物体质量的称量?
- 我们用一个等臂天平来称物体的质量,如果我们要称的物体质量范围在1到40克(整数),请问我们最少需要几块砝码可以完成这项物体质量的称量?
- 称砝码
- 称砝码
- 称砝码
- 称砝码
- 称砝码
- 称砝码******
- 称砝码
- 称砝码
- 称砝码
- 用四个砝码称出1—40克所有重量,四个砝码分别为多少? 梅氏砝码问题
- 什么是Java对象序列化
- Ubuntu 14.04中安装Sublime Text 3并使用SublimeClang插件
- 【译】webpack正式发布v3.0.0
- React 实践心得:react-redux 之 connect 方法详解
- C语言共用体类型(union)
- 可称1~40磅的4块砝码
- java炒冷饭系列09 内部类的创建和链接到外部类
- MongoDB 简易安装
- Java去掉指定字符串的开头的指定字符
- Android内存优化(三)避免可控的内存泄漏
- qt中文字图片跟随鼠标移动
- 全局环境与局部环境的访问比较
- PAT 1032 Sharing(哈希)
- 阶乘——arguments/Array.reduce()与Array.reduceRight()的实践