7744问题
来源:互联网 发布:淘宝买家两钻有什么用 编辑:程序博客网 时间:2024/05/30 04:40
这个程序是求一个四位数aabb是否为完全平方数,
完全平方数就是可以开平方的数(如:1,4,9,16,25等等)
虽然不是很难,但是里面有个很有趣的地方,
就是在判断aabb是否为完全平方数的时候,
一般我们会用:
if (m * m == n);
但事实上我们要用:
if (floor (m + 0.5) == m);
其中floor(double x)是用来取整的,
因为在浮点型的运算中可能会出错,虽然不一定,但是经常会,
如果在运算中本来正确答案是88,结果他算出88.001,程序也不会通过,
下面就是正确的代码:
#include <stdio.h>#include <math.h>#include <iostream>using namespace std;int main(){int a, b, n;double m;for (a = 1; a <= 9; a ++){for (b = 1; b < 9; b ++){n = a * 1100 + b * 11;m = sqrt(n);if (floor(m + 0.5) == m) //浮点数的运算可能存在误差,不一定存在,但经常会有,所以用“if(m*m == 0)“可能导致误差 {cout << m << endl;cout << n << endl;} }}system ("pause");return 0;}
- 7744问题
- 7744问题
- 7744问题
- 7744问题
- 7744问题
- 7744问题
- 7744问题
- 7744问题
- 7744问题
- 7744问题
- 7744问题(1)
- 7744问题(2)
- 循环结构-7744问题
- 算法学习--7744问题
- C语言 7744问题
- java 7744问题
- 问题
- 问题
- 苹果信息推送服务(Apple Push Notification Service)使用总结
- opengl clip plane
- java再学习之泛型
- 寒假刷题之10——细菌密度
- 事件_内存和性能-读书笔记五
- 7744问题
- 第八章,缓冲区对象:存储尽在掌握中
- Eclipse开发jQuery环境设置(Spket)
- mtk 6577 root
- Solaris 下的 DNS 配置详解
- 高斯消元法(解齐次方程组)
- sql server 2005/2008修改排序规则
- 在win7已安装VS2010情况下建Visual Studio 2005带有NetAdvantage2005控件的开发环境
- 不同的几何图形的渲染方式