水题一道,就是判断自己是不是素数,然后按照对应进制反转再判断一次就完事了。
不过说起素数,今天偶然看见的应该是主流的素数判断方法,就是埃氏筛算法,算法的思想就是选择当前最小的素数,然后去掉所有它大于等于2倍的倍数,循环这个过程,最终可以得到所有素数。
我在做的时候也算利用了一下类似的思想,如果这个数不是2的倍数,那么在递增除数的时候就自加2而非自加1,这样能减少一半的遍历量。
总之,下面就是代码了
#include <stdio.h>
int count(int r, int n)
{
int res = 1;
for(int i=0;i<n;i++)
res *= r;
return res;
}
int reverse(int num, int r)
{
int temp[20];
int m = 0;
int res = 0