RT.
當(dāng)展開數(shù)比基數(shù)小的時(shí)候返回.
?1
#include?<stdio.h>
?2
?3
//?得到整數(shù)u的以基數(shù)n的展開式
?4
void?f(unsigned?int?u,?unsigned?int?n)
?5

{
?6
????if?(u?<?n)
?7
????
{
?8
????????return;
?9
????}
10
????unsigned?int?i,?k;
11
12
????printf("%d?=?",?u);
13
????k?=?0;
14
????while?(u)
15
????
{
16
????????i?=?u?%?n;
17
????????if?(i)
18
????????
{
19
????????????if?(!k)
20
????????????
{
21
????????????????printf("%d*%d^%d",?i,?n,?k);
22
????????????}
23
????????????else
24
????????????
{
25
????????????????printf("?+?%d*%d^%d",?i,?n,?k);
26
????????????}
27
????????}
28
????????
29
????????u?=?u?/?n;
30
????????k?+=?1;
31
????}
32
}
33
34
int?main()
35

{
36
????f(165,?8);
37
????return?0;
38
}
39