2013校园招聘-暴风影音-笔考试题-输入n,输出对应的所有长度为n的二进制串
2013校园招聘---暴风影音---笔试题--输入n,输出对应的所有长度为n的二进制串
输入1
输出:
0
1
输入3:
输出:
000
001
010
011
100
101
110
111
//暴风影音 2013 校园招聘 笔试题 #include <iostream> #include <math.h> #include <stack> using namespace std; void print(unsigned int n) { int max = pow((double)2,(int)n); unsigned int MASK = 0x00000001; stack<int> s; for(unsigned int i=0; i<max; i++) { for(int j=0; j<n; j++) { s.push(((i & MASK)==MASK) ? 1:0); MASK=MASK<<1; } while(s.size()) { cout << s.top(); s.pop(); } MASK=MASK>>n; cout << endl; } } void main() { print(3); }
- 2楼keynumber1小时前
- 我也写了一个。
- 1楼keynumber昨天 18:13
- [code=cpp]n#include <iostream>nusing namespace std;nint main()n{ntchar a[100];ntint pa=0;ntint n;ntcin>>n;ntfor (int i=0;i<n;i++)ntta[i]=47;ntwhile (pa>=0)nt{nttif(pa>=n)ntt{nttta[pa]=0;ntttcout<<a<<endl;tntttpa--;ntttcontinue;ntt}nttif(a[pa]>='1')ntt{nttta[pa--]=47;ntttcontinue;ntt}ntta[pa]++;nttpa++;nt}n}n[/code]
- Re: bxyill昨天 18:14
- 回复keynumbern嗯,好方法!学习了。我的太暴力了。纯属暴力输出。嘿嘿