暴风影音2013校招-C++:笔试题目

输入n,输出对应的所有长度为n的二进制串

#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);  
}  

#include <iostream>  
using namespace std;  
int main()  
{  
    char a[100];  
    int pa=0;  
    int n;  
    cin>>n;  
    for (int i=0;i<n;i++)  
        a[i]=47;  
    while (pa>=0)  
    {  
        if(pa>=n)  
        {  
            a[pa]=0;  
            cout<<a<<endl;    
            pa--;  
            continue;  
        }  
        if(a[pa]>='1')  
        {  
            a[pa--]=47;  
            continue;  
        }  
        a[pa]++;  
        pa++;  
    }  
}  


个人资料
onion
等级:6
文章:51篇
访问:4.2w
排名: 12
上一篇: 【面经】暴风影音校招高频问题汇总
下一篇:暴风影音2013校招C++:笔试(2卷)
猜你感兴趣的圈子:
暴风影音笔试面试圈
标签: pa、mask、int、unsigned、include、面试题
隐藏