Function and Function
题目链接:点这里
思路:这道题关键点在于,一旦f()里出现一个0或者1,后面的数据就会一直为0或者1
代码如下:
#include <stdio.h>
int a[10]={1,0,0,0,1,0,1,0,2,1};
long f(long n)
{
long sum=0,t;
while(n!=0)
{
t=n%10;
sum=sum+a[t];
n=n/10;
}
return sum;
}
long ff(long x,long k)
{
long i,num,t;
t=f(x);
if(k0)
return x;
if(x0)
{
if(k%21)
return 1;
else
return 0;
}
if(x1)
{
if(k%2==1)
return 0;
else
return 1;
}
return ff(t,k-1);
}
int main()
{
long t,k,x,i;
scanf("%ld",&t);
while(t–)
{
scanf("%ld%ld",&x,&k);
printf("%ld\n",ff(x,k));
}
return 0;
}