1.进制转换
假设在n进制下,567*456=150216,n的值
(5n^2+6n+7)*(4n^2+5n+6)=20n^4+49n^3+88n^2+71n+42//展开
20n^4+49n^3+88n^2+71n+42=n^5+5n^4+2n^2+n+6
(两边除以n,然后再取余)
71%n+42/n%n=1%n+6/n%n=1
(71+42/n)%n=1
n=18
(2)按宏展开
宏就是字符替换
#define POW(x) (x)*(x)
#define DOUBLE(x) (x)+(x)
int main()
{//#define DOUBLE(x) (x)+(x)
printf("%d\n",POW(10+10));//10+10*10+10
printf("%d\n",DOUBLE(10*10)*10);//(10*10)+(10*10)*10