設計思想:
輸入乙個數,利用for迴圈,對每個數進行計算,統計該數是否含有1以及所含1的個數;
然後,對每個數的統計:通過while迴圈,從個位開始數,當i沒有更高位時停止統計,(i/=10) ,最終輸出個數。
**:
//求1到n之間的數裡面含有1的個數#includeusing namespace std;
int main()
{ int icount=0,i,n;
cout
cout結果截圖:
總結:我只完成了第一問,利用迴圈思想,對每個數進行統計,這是最笨的方法,上課時說的那種方法太複雜了,我找了好久都沒找出規律,所以。。
第二問要找到32位整數範圍內,滿足條件的「f(n) =n」的最大的n是多少。
由於我能輸入的數達不到32位,所以沒有完成。
任意非負整數,求1 n之間含有1的整數的個數
題目描述 求出1 13的整數中1出現的次數,並算出100 1300的整數中1出現的次數?為此他特別數了一下1 13中包含1的數字有1 10 11 12 13因此共出現6次,但是對於後面問題他就沒轍了。acmer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數。解析 1...
統計所有0到n之間所有含有數字1的數字和
實現函式int func unsigned n 其中n為正整數,返回從1到n 包含1和n 之間出現的1的個數,如 func 13 6,func 9 1。注意 不能將整數轉化為字串 分析 這個問題可以分解為 對於乙個有digit位的數,可以統計其每個位上出現1的次數,遍歷每個位,累計的次數即為出現1的...
求0到n之間所有數字中1的個數和
計算4 000 000 000以內的最大的那個f n n的值,函式f的功能是統計0到n之間所有數字中1的個數和。這道題需要解決2個問題,求數字1的個數和以及求最大的f n n。一 子問題1 求數字1的個數和 如果n是一位數,可以確定f n 1。如果是二位數,如果 n 13,那麼從 1 到 13 的所...