贴个网址:http://hi.baidu.com/zyz913614263/item/478ce4dd244300ca251f40fc
推导过程给的很清楚,最后只好讨论最低位的情况就行了...
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int k;
scanf("%d",&k);
if (k == 1)
{
printf("8\n");
return 0;
}
int count=1;
if((k-1)%3==0)
{
count += 2;
if((k-1)%6==0)
{
count++;
}
}
printf("%d\n",count);
return 0;
}