|
RT. 當展開數比基數小的時候返回. ?1 #include?<stdio.h> ?2 ?3 //?得到整數u的以基數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
|