C练习(四)
来源:互联网 发布:苹果4s4g网络 编辑:程序博客网 时间:2024/04/30 06:45
1.标题: 马虎的算式
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是:36x 495 = ?
他却给抄成了:396 x45 = ?
但结果却很戏剧性,他的答案竟然是对的!!
因为 36 * 495 =396 * 45 = 17820
类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54
假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)
能满足形如: ab *cde = adb * ce 这样的算式一共有多少种呢
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
#include <stdio.h>int main(){ int a,b,c,d,e; int m,n; int x,y; int count = 0; for(a = 1; a < 10; a++) { for(b = 1; b < 10; b++){ for(c = 1; c < 10; c++) { for(d = 1; d < 10; d++){ for(e = 1; e < 10; e++) { if(a!=b && a!=c && a!= d && a!= e && b!=c && b!=d && b!= e && c!=d && c!=e && d!=e){ m = a * 10 + b; n = c * 100 + d * 10 + e; x = a * 100 + d * 10 + b; y = c * 10 + e; if(m * n == x * y) { count++; }} }} }} } printf("%d\n",count); return 0;}
感想:
1. 大循环遍历寻求答案,有效率低资源浪费的缺点
2. 之间忘记初始化count,答案不正确。由此可见,不能忘记初始化局部变量。
2.题目标题: 第39级台阶
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。
要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。
程序分析:
这个程序不需要纠结在左脚和右脚的问题上,从中抽象出限制条件:一共走的步数是偶数;
我们可以通过递归来实现,对每次递归的结果进行判断,如果走过的台阶数为39则,结束递归,判断走的步数是否为偶数,为偶数则为上法计数器加一,否则为无效上法;#include<stdio.h> int count=0; void fun(int stair,int step) { //stari用于表示剩余的楼梯的层数,当等于0时停止递归 //step是走过的步数,用来判断是否是偶数,是否符合要求 if(stair<0)return; if(stair==0) //39节楼梯全部走完 { if(step%2 == 0)count++; return; } fun(stair-1,step+1); //这一步走了一个台阶 fun(stair-2,step+1); //这一步走了两个台阶 } int main() { fun(39,0); printf("%d\n",conut); return 0; } }
输出结果为:51167078
- C练习(四)
- C练习-(四)
- C语言练习作业(四)
- C语言基础练习(四)
- C/C++专项练习 (四)
- 查询练习(四)
- Scala练习(四)
- 听课练习(四)
- acm练习(四)
- 练习(四)
- python练习(四)
- <C/C++练习>九度OJ题目1101--1150解题练习(四)
- ACM俱乐部 练习赛四 C
- 四、C语言与画面显示练习
- 笔试题练习(四)
- jQuery练习实例(四)
- 菜鸟练习PAT(四)
- 练习代码(四)多态
- Android EditText的属性和方法介绍使用及值得注意的点
- Seaborn-02-颜色板控制
- java 异步回调
- CWnd与HWND的区别与转换
- 二叉树最全的基本操作,你想要到这里都要,初始化,空树、遍历、求前后上下左右兄弟父母祖宗等等等等一切操作
- C练习(四)
- Eclipse导入工程中文乱码问题
- 最大子段和模板
- 为什么display:line-block的a标签会加上文字之后会向下移动呢?
- shiro登录,多个项目session被覆盖问题
- 根据List其中某个属性进行排序
- cpp的策略模式
- 《老码识途:从机器码到框架的系统观逆向修炼之路》- 第1章 - 总结
- [NOIP模拟题][数学][乱搞][DP?][扫描线][线段树]