知识点1
\quad
设x是n位数(AnAn-1An-2…A2A1),定义F(x)=An*2n-1+An-1*2n-2+…+A2*21+A1*20
给定x,求F(x)。
1) int F(int x){
if(!x) return 0;
int ans=F(x/10);
return ans*2+x%10;
}
2) int F(int x){
int ans=0,base=1;
while(x){
ans+=(x%10)*base;
base*=2;
x/=10;
}
return ans;
}
知识点2
\quad 设x为一个整数,求x的各个数位,并将其存储在数组a[]中。【a[0]存储最低位】
void decompose(int x){
int pos=0;
while(x){
a[pos++]=x%10;
x/=10;
}
}