c++多极变

空 加一(&a,&m,整 n){(a);(!n){a=1;;}m++;
}//如前面停止了,中m,当前n为0,中m,否则加1个
空 减一(&a,&m,整 n){(a);(!n){a=1;;}m--;
}//如前面停止了,中m,当前n为0,中m,否则减1个<极 M,型名 T,...I>整 多级变(T&t,序列<I...>){
    极 i=0;整 m=0;(M){
        (加一(i,m,<I>(t)),...);
    }{
        常式 整 N=型长...(I);m=N;
        (减一(i,m,<N-1-I>(t)),...);
    }//从后面减.后面为整,则减
    中 m;
}//其实这个多级变,就是取1前位数,或(N-取后1位数)<极 I,型名...T>整 多级变(T...o){
    元组 t{o...};中 多级变<I>(t,转序<T...>());
}

空 主(){//1为向上,2为向下
    打印(多级变<1>(1,1,1,1,0,0));
    打印(多级变<0>(1,0,1,1,0,0,1,1));
}



再改了下.不能再提了:

<极 I>空 加减(&a,&m,整 n){(a);(!n){a=1;;}
    如 常式(I)m++;异 m--;
}//如前面停止了,中m,当前n为0,中m,否则加减1个<极 M,型名 T,...I>整 多级变(T&t,序列<I...>){
    极 i=0;整 m=0;
    如 常式(M){
        (加减<M>(i,m,<I>(t)),...);
    }{//I与`N-1-I`无法提取了,
        常式 整 N=型长...(I);m=N;
        (加减<M>(i,m,<N-1-I>(t)),...);
    }//从后面减.后面为整,则减
    中 m;
}//其实这个多级变,就是取1前位数,或(N-取后1位数)


posted @ 2020-07-13 18:13  zjh6  阅读(13)  评论(0)    收藏  举报  来源