演算法訓練 寂寞的數

2021-07-27 12:01:39 字數 877 閱讀 9945

演算法訓練 寂寞的數  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

道德經曰:一生二,二生三,三生萬物。

對於任意正整數n,我們定義d(n)的值為為n加上組成n的各個數字的和。例如,d(23)=23+2+3=28, d(1481)=1481+1+4+8+1=1495。

因此,給定了任意乙個n作為起點,你可以構造如下乙個遞增序列:n,d(n),d(d(n)),d(d(d(n)))....例如,從33開始的遞增序列為:

33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ...

我們把n叫做d(n)的生成元,在上面的數列中,33是39的生成元,39是51的生成元,等等。有一些數字甚至可以有兩個生成元,比如101,可以由91和100生成。但也有一些數字沒有任何生成元,如42。我們把這樣的數字稱為寂寞的數字。

輸入格式

一行,乙個正整數n。

輸出格式

按照公升序輸出小於n的所有寂寞的數字,每行乙個。

樣例輸入

40樣例輸出 135

79

2031

資料規模和約定

n<=10000

得出乙個結論就是如果給陣列初始化為0,要不用memset函式要不就用全域性變數

#include #include #include #include using namespace std;

int a[10010];

int fun(int n)

return sum;

}int main()

a[fun(i)]=1;

} return 0;

}

演算法訓練 寂寞的數

問題描述 道德經曰 一生二,二生三,三生萬物。對於任意正整數n,我們定義d n 的值為為n加上組成n的各個數字的和。例如,d 23 23 2 3 28,d 1481 1481 1 4 8 1 1495。因此,給定了任意乙個n作為起點,你可以構造如下乙個遞增序列 n,d n d d n d d d n...

演算法訓練 寂寞的數

題目鏈結 問題描述 道德經曰 一生二,二生三,三生萬物。對於任意正整數n,我們定義d n 的值為為n加上組成n的各個數字的和。例如,d 23 23 2 3 28,d 1481 1481 1 4 8 1 1495。因此,給定了任意乙個n作為起點,你可以構造如下乙個遞增序列 n,d n d d n d ...

藍橋杯 ALGO 119 演算法訓練 寂寞的數

問題描述 道德經曰 一生二,二生三,三生萬物。對於任意正整數n,我們定義d n 的值為為n加上組成n的各個數字的和。例如,d 23 23 2 3 28,d 1481 1481 1 4 8 1 1495。因此,給定了任意乙個n作為起點,你可以構造如下乙個遞增序列 n,d n d d n d d d n...