编程的趣味函数
来源:互联网 发布:逆战网络异常 编辑:程序博客网 时间:2024/06/05 18:03
今天我们来练习几个趣味的函数求解,函数虽然不难,不过要注意循环的使用和相应判断:
题目如下:
1.百钱百鸡问题:
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡”的问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
题目分析:
设鸡翁,鸡母,鸡雏的个数分别为x,y,z,提议给定共100钱买百鸡,若全买公鸡最多买20只,显然x ~(0--20),同理,y~(0--33);并且5x + 3y + z/3 = 100;
x + y + z = 100;
程序如下:
#include <stdio.h>int main(){ int x;int y;int z;int j = 0;printf("Following are possible plan to buy 100 fowls with 100 yuan:\n");for(x = 0; x <= 20; x++){ for(y = 0; y <=33; y++){ z = 100 - x - y;if(z % 3 == 0 && 5 * x + 3 * y + z / 3 == 100){ printf("%2d:cock=%2d hen=%2d chicken=%2d\n",++j, x, y, z);}}}return 0;}
2.爱因斯坦的数学题:
爱因斯坦出了这样一个数学题:有一条长阶梯,若每步跨两阶,则最后剩1阶;若每步跨3阶则最后剩两阶;若每布跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;只有每步跨7阶,最后才正好一阶不剩;
问题分析:
阶梯数满足下面一组同余式:
X = 1 (mod2)
X = 2 (mod3)
X = 4 (mod5)
X = 5 (mod6)
X = 0 (mod7)
程序如下:
#include <stdio.h>int main(){int i = 1;while(!((i%2==1) && (i%3==2) && (i%5==4) && (i%6==5) &&(i%7==0))){++i;}printf("Staris_number= %d\n",i);return 0;}
3.换分币:
用一元人民币兑换成1分,2分和5分硬币,共有多少种兑换方法?
问题分析:
设i, j , k分别为兑换的 1分,2分和5分硬币所具有的钱数(i / 1, j/2, k/5则为对应的数目),则i,j,k满足:i + j + z = 100;
程序如下:
#include <stdio.h>int main(){int i;int j;int k;int count = 1;printf("There are following small exchange plans for 1 yuan note:\n");for(i = 0; i <= 100; i++){for(j = 0; j <= 100-i; j=j+2){for(k = 0; k <= 100-i-2*j; k=k+5){if(i + j + k == 100){printf(count%4?"%d:1*%d+2*%d+5*%d\n": "%d:1*%d+2*%d+5*%d\n", count++, i, j/2, k/5);printf("\n");}}}}return 0;}
4.三色球问题:
若一个口袋中放有12个球,其中三个红的,3个白的和6个黑的,问任取8个球,共有多少种颜色搭配?
问题分析:
设取出的红球,白球数目分别为 i, j,则黑球数目为为8 - i - j;根据题意,红球和白球取值为(0~3),所以此时黑球个数应为(8 - i - j) <= 6。
程序如下:
#include <stdio.h>int main(){int i;int j;int count = 0;printf("No. RED BALL WHITE BALL BLACK BALL\n");printf("--------------------------------\n");for(i = 0; i <= 3; i++){for(j = 0; j <= 3; j++){if((8-i-j) <= 6){printf("%2d: %d %d %d\n", ++count, i, j, 8-i-j);}}}return 0;}
- 编程的趣味函数
- 趣味编程:函数式链表的快速排序
- 趣味编程:函数式链表的快速排序(参考答案)
- 趣味编程__正弦和线性函数的焦点
- 初学编程--编程的趣味
- 编程趣味:Python的缺点
- 一道简单的趣味编程
- javascript 之趣味 函数式编程
- 趣味编程_打印余弦函数
- 趣味编程
- VFP趣味编程:盲人裁判的判断
- VFP趣味编程:求婚者的智慧
- 一道位操作的趣味编程题
- 趣味编程_13^13的最后三位
- 趣味编程题“马的智障”
- 数学的趣味—数学函数
- VFP趣味编程:百钱买百鸡
- 趣味编程:静夜思
- jQuery获取Select选择的Text和Value:
- nginx 整合tomcat 配置 学习笔记
- 怎样理解阻塞非阻塞与同步异步的区别?
- 基本数据类型知识汇总
- Centos7 JDK7安装配置
- 编程的趣味函数
- springmvc入门基础之注解和参数传递
- Chapter 11: Sampling Methods
- centos6.5 安装 ffmpeg
- 先于服务器端的Android开发,基于mock和fiddler(win)和whistle(linux)
- 欢迎使用CSDN-markdown编辑器
- poj2566(尺取模型)
- ASP.NET缓存总结
- 工作地址收藏夹