D5 4 數N在任意進製下每一位的遍歷

2021-09-14 01:52:23 字數 812 閱讀 4550

由"水仙花"數出發,進而考慮回文數(例如,121,1234321...),得到遍歷乙個數的每一位的方法.

for(i=a ; i<=b ; i++) 其中 i 在迴圈中完成了[a,b]的遍歷;

for(i=a ; i<=b ; i++) 其中 arr[i] 完成了陣列一段的遍歷;

for(i=n ; i ; i/=10 ) 其中 i % 10 完成了對 n 的每一位的遍歷;

for(i=n ; i ; i/=sn) 其中i % sn 完成了對n在sn進製下每一位的遍歷.

例1,求0-100000000之間的"水仙花"數

​include #include #include int main()

;    int sum = 0;

int count = 0;

for (i = 0; i < 100000000; i++)

for (j = 0; j < count; j++)

if (sum == i)

count = sum = 0;

}system("pause");

return 0;}​

例2,判斷乙個數在任意進製下是否為回文數

#define _crt_secure_no_warnings

#include #include #include int main()

if (n == sum)

else

system("pause");

return 0;

}

例項 十進位制數n轉化為任意進製

題目描述 對於任意整數n,轉化成x進製的表達形式 演算法分析 演算法實現 十進位制正整數n到base進製的轉換 static const char basenum void convert std stack s,int64 n,int base void convertr std stack s,...

牛頓迭代法 求任意數的開n次方

牛頓迭代法是求開n次方近似解的一種方法,本文參考。假如 x n m 我們需要求x的近似值。感覺和物理做實驗一樣,先通過實驗觀察,再找出對應理論來解釋現象。這個演算法不是推導出來的,是首先通過觀察發現,再來證明推導,哈哈哈 以下結論都是建立在f x 二階可導的情況下成立。牛頓發現隨便找乙個曲線上的a點...

查詢陣列中是否存在任意三個數可組成三角形的演算法

分治法 先把陣列一a i 為界,分成兩部分,左邊比a i 小,右邊比a i 大。1 左面陣列去乙個數 右面陣列取乙個數,a i 三個數判斷 2 左面取兩個數與a i 判斷 3 右面取兩個數與a i 判斷 include include includeusing namespace std void ...