精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 一個(gè)排列組合的數(shù)學(xué)問題,我一直想不通,希望數(shù)學(xué)或者編程達(dá)人解答

    一個(gè)排列組合的數(shù)學(xué)問題,我一直想不通,希望數(shù)學(xué)或者編程達(dá)人解答
    有n個(gè)不重復(fù)的正整數(shù)組成的數(shù)列,他們都小于等于m(m>=n),{A1,A2,A3……An}滿足(A1
    其他人氣:160 ℃時(shí)間:2020-05-13 11:11:37
    優(yōu)質(zhì)解答
    輸出所有數(shù)列以及數(shù)列個(gè)數(shù)的程序:
    #include
    int a[100] ;
    int lay ;
    int n1 ;
    int Count(int m,int n,int k)
    {
    int i,s ;
    
    if ( lay == n1 ) {
    for ( i = 0 ; i < n1 ; i ++) {
    printf("%d ",a[i]) ;
    }
    printf("\n") ;
    return(1) ;
    }
    s = 0 ;
    for ( i = 0 ; i 請(qǐng)問如何修改?希望給出一個(gè)效率高的方法改成這樣:#includeint a[100] ;int b[100] = {1,3,4} ;int lay ;int n1 ;int s ;int seq ;void Count(int m,int n,int k){ int i,f ;if ( lay == n1 ) {s ++ ;f = 1 ;for ( i = 0 ; i < n1 ; i ++) { printf("%d ",a[i]) ; if ( a[i] != b[i] ) {f = 0 ; }}if ( f != 0 ) { seq = s ;}printf("\n") ;return ; } for ( i = 0 ; i <= m - n ; i ++ ) {a[lay] = k+i+1 ;lay ++ ;Count(m-i-1,n-1,k+i+1) ;lay -- ; }}void main(void){ int m,n ; int i ;m = 4 ; n1 = n = 3 ; s = 0 ; seq = -1 ; Count(m,n,0) ; printf("Total is %d\n",s) ; if ( seq != -1 ) {printf("{ ",b[i]) ;for ( i = 0 ; i < n1 ; i ++ ) { printf("%d ",b[i]) ;}printf("} is the No. %d\n",seq) ; }}這樣的程序你覺得效率不高?那什么樣的是你所稱的效率呢?時(shí)間開銷?空間開銷?程序的理解難易程度?我詢問這個(gè)數(shù)列,主要是我在寫廣度優(yōu)先搜索時(shí)需要判斷重復(fù),我遇到很多問題最終都可以抽象為這個(gè)數(shù)列,我也知道這個(gè)數(shù)列一共有c(m,n)個(gè)。你寫的深度優(yōu)先搜索是構(gòu)造這些數(shù)列,計(jì)數(shù),直到構(gòu)造出這個(gè)數(shù)列為止,這樣的效率放入我的廣度優(yōu)先搜索我無法滿意,那還不如用STL的set效率高,不過還是謝謝你,要是過幾天沒有答案,分就給你了,我想要的是一種類似于數(shù)學(xué)公式的方法,快速的求出一個(gè)數(shù)列的映射關(guān)系用公式恐怕不太容易
    我來回答
    類似推薦
    請(qǐng)使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點(diǎn),以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版