自守数:如果某个数的平方的末尾极为数等于这个数,那么就称这个数为自守数。显然,5和6是一位自守数(5x5=25 6x6=36)25x25=625 76x76=5776,所以25和76是两位自守数。
回文数:则是有类似22、383、5445、12321,不论是从左向右顺读,还是从右向左倒读,结果都是一样的特征.
水仙花数:是指一个n(>=3)位数字的数,它等于每个数字的n次幂之和。( 例如:1^3 + 5^3 + 3^3 = 153 )
完整数:除自身以外的所有因子之和等于自身的数。比如:6的因子有1,2,3;1+2+3=6;所以6是完整数
素数就不解释了。。。
C++自守数:
#include<stdio.h>
int main()
{
long mul,number,k,ll,kk;
printf("It exists following automorphic nmbers small than 200000:\n");
for(number=0;number<200000;number++)
{
for(mul=number,k=1;(mul/=10)>0;k*=10);
kk=k*10;
mul=0;
ll=10;
while(k>0)
{
mul=(mul+(number%(k*10))*(number%ll-number%(ll/10)))%kk;
k/=10;
ll*=10;
}
if(number==mul)
printf("%ld ",number);
}
}
C++回文数:
#include<iostream.h>
int palindrome(long int x)
{
long int y;
long int s=0;
y=x;
while(y>0)
{
s=s*10+y%10;
y=y/10;
}
if(s==x)
return 1;
else
return 0;
}
int main()
{
long int x;
int temp;
cout<<"Enter x";
cin>>x;
temp = palindrome(x);
if(temp==1)
{
cout<<"yes"<<endl;
}
else {
cout<<"no"<<endl;
}
return 0;
}
.
C++水仙花数:
#include"iostream.h"
void main()
{
int i,j,k,n;
for(n=100;n<=1000;n++)
{
i=n/100;
j=n/10%10;
k=n%10;
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) cout<<n<<endl;
}
}