c 實現找出所有自傳數

2021-10-10 14:59:53 字數 1124 閱讀 5423

自傳數(autobiographical number)

滿足以下定義,不超過10位數的自然數:

第一位數(從左到右)是所有數字中「0」的個數

第二位數是所有數字中「1」的個數

第三位數是所有數字中「2」的個數

…… 依此類推。

例如1210第1至4位數分別為1、2、1和0,而此數字有1個0,2個1和1個2,恰好對應,因此1210為自傳數,也是最小的自傳數。

自傳數有以下7個(oeis中的數列a046043): 1210、2020、21200、3211000、42101000、521001000、6210001000。

(課程作業,同課程同學勿拿)

/**

* @author yuki

* @create 2000/11/17

*/#include

using namespace std;

const

int n =10;

const

int n =10;

int array[n]=;

//計算當前第乙個不是零的數

intget_st()

return k;

}//如果當前數的總和大於數的長度則剪枝

bool cut

(int u)

if(cnt_all>

10-k+1)

return false;

return true;

}//判斷是否為自傳數

bool check()

;//用於記錄每個數字出現的次數

int k =

get_st()

;for

(int i = k; i <

10; i++

)for

(int i = k; i <

10; i++)}

return true;

}//深搜

void

dfs(

int u)

printf

("\n");

}return;}

for(

int i=

0; i)}

C語言 找出1000以內的所有完數

例55 乙個數如果恰好等於它的因子之和,這個數就稱為完數,c語言程式設計找出1000之內的所有完數,並輸出其因子。解題思路 6的因子為1,2,3,而6 1 2 3,因此6是 完數 1不用判斷,直接從2開始,因為1的因子只有1 源 演示 include 標頭檔案 intmain 主函式 if s nu...

找出陣列中所有重複的數

include stdafx.h for i 0 to n 1 while a a i a i swap a i a a i end while end for for i 0 to n 1 if a i i then print a i end if end for void swap int a...

程式設計找出1000以內的所有完數

關鍵檔案 homework2.cpp 定義控制台應用程式的入口點。程式設計找出1000以內的所有完數 注1 乙個數如果恰好等於它的因子之和,這個數就稱為 完數 例如6 1 2 3.注2 因子即是約數,即可以整除這個數的數 注3 完全數 perfect number 又稱完美數或完備數,是一些特殊的自...