由"水仙花"數出發,進而考慮回文數(例如,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 ...