如何判断一个数是不是完全平方数
2015-06-22 17:25
357 查看
判断一个数aabb是不是完全平方数
for( i = 1 to 9 )
for(j = 0 to 9 )
{
int sum = 1100*a + 11* b;
int m =float(sqrt(sum) + 0.5);
if (m*m == sum )
cout<<sum<<endl;
}
有人会问为什么不可以用if(sqrt(sum) == float(sqrt(sum))) cout<sum<<endl; 呢 ?
即是直接判断开平方是不是整数。 理论上是没有问题 ,但是则行会出现错误的的 因为这是浮点数的运算,有可能出现误差。
提示:浮点数出现误差的概率大一点 , 特别注意浮点数比较的时候!!
如果想避免进行开方 另一思路就是枚举四位数 然后判断是不是符合aabb
枚举的出口就是平方数是一个四位数
for( i = 1 to 9 )
for(j = 0 to 9 )
{
int sum = 1100*a + 11* b;
int m =float(sqrt(sum) + 0.5);
if (m*m == sum )
cout<<sum<<endl;
}
有人会问为什么不可以用if(sqrt(sum) == float(sqrt(sum))) cout<sum<<endl; 呢 ?
即是直接判断开平方是不是整数。 理论上是没有问题 ,但是则行会出现错误的的 因为这是浮点数的运算,有可能出现误差。
提示:浮点数出现误差的概率大一点 , 特别注意浮点数比较的时候!!
如果想避免进行开方 另一思路就是枚举四位数 然后判断是不是符合aabb
枚举的出口就是平方数是一个四位数
相关文章推荐
- angularjs实战项目01-构建开发环境
- 塔勒布《反脆弱》-读后感
- APP测试体系
- Perl 学习笔记-目标操作
- 底部Tab页与Fragment结合用法
- akoj-1162-计算表达式
- android(LinearLayout)属性详解
- 关于如何成为一名优秀的程序员
- 软件工程概论课程总结
- CSS width:100%和width:auto的区别
- CXF(2.7.10) - RESTful Services
- HQApi命令行接口配置
- 【Unity3d】如何开发Unity自动化补丁工具
- C# 相对路径指定详解
- 禁止Cell被选中之后进入高亮状态
- const的用法
- Mac OS X 系统配置 Apache+MySql+PHP 详细教程
- Memcached 集群架构方面的问题
- ******Android应用实例之有道辞典(WebView) **********
- 《大道至简》1