[obt]匪夷所思
时间:2010-05-29 来源:crispgm
日志标题:匪夷所思
发表时间:2008-5-12 13:37:00
日志内容:从来都这么细腻,却又匪夷所思的文字,夹杂点学术性的情感留露。。。。。
以后混不下去就写写文字吧。。。这是小硕对我的意识流混乱派文字的评价我从不看著名的文学作品而自己心里想的东西却非常多很多 太多 及其多 特别多我的联想力为了提供了很多灵感其实这些都是些低级东西没什么深入思考甚至基本的表达都不清晰这样就得到了匪夷所思的称号我很喜欢因此blog加了这个做名字呵呵今天编程感觉很好生成组合解决:#include <iostream>using namespace std;void generateCombination( int *a, int n );bool isAllOnes( int *a, int n );int findMinimumIndex( int *a, int n );void print( int *a, int n );void main(){ int n; cin >> n; int *a = new int[ n ]; generateCombination( a, n ); delete [] a;}void generateCombination( int *a, int n ){ int i, j; for ( i = 0 ; i < n ; i++ ) a[ i ] = 0; while( !isAllOnes( a, n ) ) { j = findMinimumIndex( a, n ); a[ j ] = 1; for ( i = 0 ; i < j ; i++ ) a[ i ] = 0; print( a, n ); }}bool isAllOnes( int *a, int n ){ for ( int i = 0 ; i < n ; i++ ) { if ( a[ i ] != 1 ) return false; else continue; } return true;}int findMinimumIndex( int *a, int n ){ for ( int i = 0 ; i < n ; i++ ) if ( a[ i ] == 0 ) return i; return 0;}void print( int *a, int n ){ for ( int i = 0 ; i < n ; i++ ) if ( a[ i ] ) cout << i+1 << ", "; cout << endl;}
发表时间:2008-5-12 13:37:00
日志内容:从来都这么细腻,却又匪夷所思的文字,夹杂点学术性的情感留露。。。。。
以后混不下去就写写文字吧。。。这是小硕对我的意识流混乱派文字的评价我从不看著名的文学作品而自己心里想的东西却非常多很多 太多 及其多 特别多我的联想力为了提供了很多灵感其实这些都是些低级东西没什么深入思考甚至基本的表达都不清晰这样就得到了匪夷所思的称号我很喜欢因此blog加了这个做名字呵呵今天编程感觉很好生成组合解决:#include <iostream>using namespace std;void generateCombination( int *a, int n );bool isAllOnes( int *a, int n );int findMinimumIndex( int *a, int n );void print( int *a, int n );void main(){ int n; cin >> n; int *a = new int[ n ]; generateCombination( a, n ); delete [] a;}void generateCombination( int *a, int n ){ int i, j; for ( i = 0 ; i < n ; i++ ) a[ i ] = 0; while( !isAllOnes( a, n ) ) { j = findMinimumIndex( a, n ); a[ j ] = 1; for ( i = 0 ; i < j ; i++ ) a[ i ] = 0; print( a, n ); }}bool isAllOnes( int *a, int n ){ for ( int i = 0 ; i < n ; i++ ) { if ( a[ i ] != 1 ) return false; else continue; } return true;}int findMinimumIndex( int *a, int n ){ for ( int i = 0 ; i < n ; i++ ) if ( a[ i ] == 0 ) return i; return 0;}void print( int *a, int n ){ for ( int i = 0 ; i < n ; i++ ) if ( a[ i ] ) cout << i+1 << ", "; cout << endl;}
相关阅读 更多 +