如何判断一个数是平方数?

[复制链接]
查看11 | 回复2 | 2006-3-17 09:40:42 | 显示全部楼层 |阅读模式
完全平方数是这样一种数:它可以写成一个正整数的平方。例如,36是6×6,49是7×7。 从1开始的n个奇数的和是一个完全平方数,n2―即1+3+5+7+…+(2n-1)=n2,例如1+3+5+7+9=25=52。每一个完全平方数的末位数是0,1,4,5,6,或9 每一个完全平方数要末能被3整除,要末减去1能被3整除。每一个完全平方数要末能被4整除,要末减去1能被4整除。 每一个完全平方数要末能被5整除,要末加上1或减去1能被5整除。
回复

使用道具 举报

千问 | 2006-3-17 09:40:42 | 显示全部楼层
用循环××××××××××××××××××program pf(input,output);{program by cnpascal.cn}uses crt;var r:char;procedure pfjs ;var a,c,b:longint;beginrepeatwrite ('Input a number(N>=0):');readln (a);until a>=0;if a=0 then writeln ('0^2=0') else beginc:=0;b:=1;repeat c:=c+b; b:=b+2; until (c=a) or (exp(ln((b-1)/2)*2)>a); if c=a then writeln ((b-1)/2:3:0,'^2=',a) else writeln ('NO!');
end;{if} end;{procedure pfjs}beginclrscr;repeatpfjs;writeln (Again?(Y/N)');r:=readkey;writeln (r);until (r='n') or (r='N');end.×××××××××××××××××××××××以上PASCAL源程序使用了 公式 1+3+5+7+…+(2n-1)=n^2参考资料:http://bbs.cnpascal.cn

已赞过已踩过>m; for (long i=1,temp=0; iend)
return 0;
if ( ((begin-end) * (begin-end)) / 4== a )
return 1;
if(((begin-end) * (begin-end)) / 4> a)
return BinarySearchSqrt( a , begin , (begin-end)/2 - 1);
else
return BinarySearchSqrt( a , (begin-end)/2 + 1, end );}
回复

使用道具 举报

千问 | 2006-3-17 09:40:42 | 显示全部楼层
使用以下的程序:bool fn(int n){
for(int i=1;n>0;i+=2)n-=i;
return !((bool)n);}参考资料:CSDN社区-专题开发/技术/项目 / 数据结构与算法本回答被提问者采纳
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行