2 条题解

  • 0
    @ 2025-9-26 12:28:27

    bitset方法:

    #include <bits/stdc++.h>
    using namespace std;
    
    /*
      题意:
        输出 0000₂ ~ 1111₂(即 0~15)的所有二进制数及对应的十进制数。
      
      解法思路:
        - 对 0 到 15 循环;
        - 用 bitset<4> 自动转为 4 位二进制;
        - 按格式输出:形如 "0001B 1"。
    */
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
    
        for (int i = 0; i < 16; ++i) {
            bitset<4> b(i); // 生成4位二进制
            cout << b.to_string() << "B " << i << "\n";
        }
    
        return 0;
    }
    
    
    • 0
      @ 2025-9-26 12:28:01

      普通方法:

      #include <bits/stdc++.h>
      using namespace std;
      
      int main(){
      	int a1,a2,a3,a4;
      	int n;
      	for(int a1=0;a1<2;a1++)
      	{
      	    for (int a2=0;a2<2;a2++)
      	    {
      	        for(int a3=0;a3<2;a3++)
      	        {
      	            for(int a4=0;a4<2;a4++)
      	            {
      	               n=a1*pow(2,3)+a2*pow(2,2)+a3*pow(2,1)+a4*pow(2,0);
      	               cout<<a1<<a2<<a3<<a4<<'B'<<" "<<n<<endl;
      	            }
      	        }
      	    }
      	}
      	return 0;
      }
      
      • 1

      信息

      ID
      189
      时间
      1000ms
      内存
      64MiB
      难度
      3
      标签
      递交数
      28
      已通过
      19
      上传者