一、判断素数
int isPrime(int n){
if (n <= 1) return 0;
for(int i = 2; i <= sqrt(n); i++){
if(n % i == 0) return 0;
}
return 1;
}
二、使整数逆序
int toReverse(int n){
int temp = 0;
while(n != 0){
temp = temp * 10 + n % 10;
n /= 10;
}
return temp;
}
二点五、递归使整数逆序
void reverse(int n)
{
if(n <= 9)
printf("%d",n);
else{
printf("%d",n%10);
reverse(n/=10);
}
}
三、找公约数
long long int gcd(long long int a, long long int b)
{
return b ? gcd(b, a % b) : a;
}
三点五、辗转相除找公约数 (切方块)
bool check(int a, int b){
int t;
while(1){
t=a%b;
if(t==0)break;
else{
a=b;
b=t;
}
}
if(b>1)return false;
else return true;
}
四、 递归阶乘
double fact(int n)
{
double result;
if (n==1)
result=1;
else
result=n*fact(--n);
return result;
}
五、递归斐波那契
int fib(int n){
if(n>1) return fib(n-1) + fib(n-2);
else return n; // n = 0, 1时给出recursion终止条件
}