社区
C++ 语言
帖子详情
C++编程判断一个数是否是平方数,如25为是平方数!!
xiamin
2006-02-20 11:30:01
判断一个数是否是平方数,如25为是平方数!!
...全文
4074
25
打赏
收藏
C++编程判断一个数是否是平方数,如25为是平方数!!
判断一个数是否是平方数,如25为是平方数!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nicky1981
2006-02-22
打赏
举报
回复
证明:
1+3+5+7+...+(2n-1)
= (1+(2n-1) ) * n / 2
= 2n * n / 2
= n*n
----------
不错
Dogfish
2006-02-22
打赏
举报
回复
3
(int)sqrt(num)*(int)sqrt(num) == num
tacittui
2006-02-22
打赏
举报
回复
初中学的
a^2 - b^2 == (a+b)*(a-b)
还说要用归纳法,实在是太搞笑了
NoInfoNoFear
2006-02-22
打赏
举报
回复
证明:
1+3+5+7+...+(2n-1)
= (1+(2n-1) ) * n / 2
= 2n * n / 2
= n*n
Darkay_Lee
2006-02-22
打赏
举报
回复
用计算机来判断浮点数确实是个问题。
另外,提醒一下考虑效率的各位,sqrt所花的时间不是可以忽略不计的:)
Zricepig
2006-02-22
打赏
举报
回复
平方数是针对整数域来说的
不存在说0.25是平方数的概念吧
crystal_heart
2006-02-21
打赏
举报
回复
bool IsSqrt( int n )
{
int i = 1;
while( n>0 )
{
n -= i;
i += 2;
}
return 0==n ? true : false;
}
weilong122
2006-02-21
打赏
举报
回复
在循环内尽量少作判断是考虑到效率的原故吧?
weilong122
2006-02-21
打赏
举报
回复
zh2817() ,Darkay_Lee() 俩位的做法都很好,感谢!!!!
Darkay_Lee
2006-02-21
打赏
举报
回复
改进了一下,不在循环里面做太多判断:
int main(void)
{
int n;
cin >> n;
int sum = 0;
for(int i=1; ; i+=2)
{
sum += i;
if(sum >= n)
{
break;
}
}
if(sum == n)
cout << "yes" << endl;
else
cout << "no" << endl;
}
Darkay_Lee
2006-02-21
打赏
举报
回复
to:jiajun2001(嘉俊)
不需要归纳发啦:
1+3+...+(2n-1),共n个数,求和公式是:
((1+(2n-1)) * n)/2 == n*n
因此你的命题正确。
利用此命题的结果得到的算法如下:
#include <iostream>
using namespace std;
int main(void)
{
int n;
cin >> n;
int sum = 0;
for(int i=1; ; i+=2)
{
sum += i;
if(sum == n)
{
cout << "yes";
break;
}
else if(sum > n)
{
cout << "no";
break;
}
}
}
罗嘉贇
2006-02-21
打赏
举报
回复
请考虑一下double 到 int的误差
zh2817
2006-02-21
打赏
举报
回复
程序如下:
#include<iostream>
#include<cmath>
using namespace std;
void main()
{
int n;
int m;
cout<<"请输入:";
cin>>n;
cout<<endl;
m = sqrt(n);
if(m * m == n)
cout<<"是平方数"<<endl;
else
cout<<"不是平方数"<<endl;
}
uncleAndyChen
2006-02-21
打赏
举报
回复
答案都有了,就只好UP一把了
sankt
2006-02-21
打赏
举报
回复
对于给定一个整数N
定义一个整型数M
int M = sqrt(N);
然后判断
if(M*M == N)
则N是平方数;
else
N不是平方数;
//=========
正解
Jagen在路上
2006-02-21
打赏
举报
回复
楼上的利用了数学归纳法,但是需要证明才可使用。
EarthKing
2006-02-21
打赏
举报
回复
1 = 1
4 = 1 + 3
9 = 1 + 3 + 5
16 = 1 + 3 + 5 + 7
25 = 1 + 3 + 5 + 7 + 9
36 = 1 + 3 + 5 + 7 + 9 + 11
....
chon81
2006-02-21
打赏
举报
回复
floor(sqrt(num))*floor(sqrt(num)) == num
xiaocai0001
2006-02-21
打赏
举报
回复
想干什么啊?
对于给定一个整数N
定义一个整型数M
int M = sqrt(N);
然后判断
if(M*M == N)
则N是平方数;
else
N不是平方数;
EarthKing
2006-02-21
打赏
举报
回复
数学归纳法....这个是数学书上的公式还需要再证明么....-_-
加载更多回复(5)
自守
数
C++
实现
/*任意输入
一个
自然
数
,
判断
其是否为自守
数
,并输出相应的信息。自守
数
的定义为:
一个
自然
数
其本身
平方
后的
数
的尾
数
等于这个
数
本身。例如:
25
×
25
=6
25
,76×76=5776。*/
USACO题目Palindromic Squares(回文
平方
数
)及代码解析
USACO题目Palindromic Squares(回文
平方
数
)及代码解析
C++
编程
一锅端
C++
编程
一锅端,WangTeacher主讲,手把手带你学习
C++
编程
,15年
编程
经验,实战教学,你值得拥有。经过反复练习,可以融会贯通,学习其他面向对象的语言可以自学成才。你可以从事服务器开发、游戏开发、
数
据库开发、区块链开发,嵌入式开发,AI开发。课程列表:《
C++
编程
入门100题》、《C/
C++
课程设计
编程
实战-P1》、《
C++
编程
入门到精通-卷1-基础语法》、《
C++
编程
入门到精通-卷2-对象和类》、《
C++
编程
入门到精通-卷3-
C++
11新特性》、《
C++
编程
入门到精通-卷4-标准库》、《
C++
编程
入门到精通-卷5-标准模板库》、《
C++
编程
入门到精通-卷6-智能指针》后续还会加入更多的优秀课程。
C/
C++
语言经典实用趣味程序设计
编程
百例精解
C/
C++
语言经典实用趣味程序设计
编程
百例精解C/
C++
语言经典实用趣味程序设计
编程
百例精解(1)1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大
数
6.高次方
数
的尾
数
7.阶乘尾
数
零的个
数
8.借书方案知多少 9.杨辉三角形 10.
数
制转换 C/
C++
语言经典实用趣味程序设计
编程
百例精解(2)11.打鱼还是晒网 12.抓交通肇事犯 13.该存多少钱 14.怎样存钱利最大 15.捕鱼和分鱼 16.出售金鱼 17.平分七筐鱼 18.有限5位
数
19.8除不尽的自然
数
20.
一个
奇异的三位
数
C/
C++
语言经典实用趣味程序设计
编程
百例精解(3)21.4位反序
数
22.求车速 23.由两个
平方
三位
数
获得三个
平方
二位
数
24.阿姆斯特朗
数
25
.完全
数
26.亲密
数
27.自守
数
28.回文
数
29.求具有abcd=(ab+cd)2性质的四位
数
30.求素
数
C/
C++
语言经典实用趣味程序设计
编程
百例精解(4)31.歌德巴赫猜想 32.可逆素
数
33.回文素
数
34.要发就发 35.素
数
幻方 36.百钱百鸡问题 37.爱因斯坦的
数
学题 38.换分币 39.年龄几何 40.三色球问题C/
C++
语言经典实用趣味程序设计
编程
百例精解(5)41.马克思手稿中的
数
学题 42.最大公约
数
和最小公倍
数
43.分
数
比较 44.分
数
之和 45.将真分
数
分解为埃及分
数
46.列出真分
数
序列 47.计算分
数
的精确值 48.新娘和新郞 49.委派任务 50.谁在说谎 C/
C++
语言经典实用趣味程序设计
编程
百例精解(6)51.谁是窃贼 52.黑与白 53.迷语博士的难题(1) 54.迷语博士的难题(2) 55.哪个大夫哪天值班 56.区分旅客国籍 57.谁家孩子跑最慢 58.拉丁方阵 59.填表格 60.1~9分成1:2:3的三个3位
数
C/
C++
语言经典实用趣味程序设计
编程
百例精解(7)61.1~9组成三个3位的
平方
数
62.由8个整
数
形成奇特的立方体 63.减式还原 64.乘式还原 65.乘式还原(2) 66.除式还原(1) 67.除式还原(2) 68.九位累进可除
数
69.魔术师的猜牌术(1) 70.魔术师的猜牌术(2) C/
C++
语言经典实用趣味程序设计
编程
百例精解(8)71.约瑟夫问题 72.邮票组合 73.和
数
能表示1~23的5个正整
数
74.可称1~40磅的4块砝码 75.10个小孩分糖果 76.小明买书 77.波松瓦酒的分酒趣题 78.求π的近似值 79.求π的近似值(2) 80.奇
数
平方
的
一个
有趣性质 C/
C++
语言经典实用趣味程序设计
编程
百例精解(9)81.角谷猜想 82.四方定理 83.卡布列克常
数
84.尼科彻斯定理 85.回文
数
的形成 86.自动发牌 87.黑白子交换 88.常胜将军 89.抢30 90.搬山游戏 C/
C++
语言经典实用趣味程序设计
编程
百例精解(10)91.人机猜
数
游戏 92.人机猜
数
游戏(2) 93.汉诺塔 94.兎子产子 95.将阿拉伯
数
字转换为罗马
数
字 96.选美比赛 97.满足特异条件的
数
列 98.八皇后问题 99.超长正整
数
的加法 100.
数
字移动
C/
C++
经典实用趣味程序设计
编程
例子精解(DOC)
很多实用的
编程
小题目以及精解 部分如下
1.绘制余弦曲线
2.绘制余弦曲线和直线
3.绘制圆
4.歌星大奖赛
5.求最大
数
6.高次方
数
的尾
数
7.阶乘尾
数
零的个
数
8.借书方案知多少
9.杨辉三角形
10.
数
值转换
11.打鱼还是晒网
12.抓交通肇事犯
13.该存多少钱
14.怎样存钱利最大
15.捕鱼和分鱼
16.出售金鱼
17.平分七筐鱼
18.有限5位
数
19.8除不尽的自然
数
20.
一个
奇异的三位
数
11.打鱼还是晒网
21.4位反序
数
22.求车速
23.由两个
平方
三位
数
获得三个
平方
二位
数
24.阿姆斯特朗
数
25
.完全
数
26.亲密
数
27.自守
数
……
……
……
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章