Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168922 | A班-温皓霖 | 幂次方 | C++ | 通过 | 100 | 0 MS | 244 KB | 933 | 2024-08-20 14:49:06 |
#include <bits/stdc++.h> #define BASE 2 void BDX(int n, int e){ int DJK, djk; if(e == 0) { if(n == 0) ; else if( n == 1) printf("2(0)"); else if(n == 2) printf("2"); else { BDX(n / BASE, e+1); DJK = n % BASE; if(DJK) { printf("+"); BDX(DJK, e); } } } else { djk = n / BASE; DJK = n % BASE; if(djk > 0) { BDX(djk, e+1); if(DJK) printf("+"); } if(DJK) { if(e == 1) printf("2"); else { printf("2("); BDX(e, 0); printf(")"); } } } } int main(void) { int n; scanf("%d", &n); BDX(n, 0); printf("\n"); return 0; }