本文简单分享一些简单的算法
算法
算法 Tricks(一)—— 判断一个数是否为完全平方数
bool IsSquare21(int n){
return int(sqrt(n)) * int(sqrt(n)) == n ? 1:0;
}
bool IsSquare2(int num){
for(int i = 1; num >0;i+=2){// 变化步长为2,初值为1,一直减到num不再大于0
num -= i;
}
//如果num减到最后,恰好等于0,就是平方数;反之,就不是
return num ?0:1;
}
算法 Tricks(二) —— 进制转换
#include <iostream>
using namespace std;
int main()
{
long n;
int x,a,m=0,s[100];
cin>>n>>x;//x进制的转换
while (n!=0)
{
a=n%x;
n=n/x;
m++;
s[m]=a;
}
for(int i=m;i>=1;i--)
{
if(s[i]>=10)
cout<<(char)(s[i]+55);
else
cout<<s[i];
}
return 0;
}
算法 Tricks(三) —— 回文数的判断方法
bool pd_h(int x){
int y=x,num=0;//int y=x,防止x被改变
while (y!=0)
{
num=num*10+y%10;//上一次数字的记录进位再加上下一位数
y/=10;
}
if (num==x) return 1;
else return 0;
}