文章
99
粉丝
120
获赞
8
访问
97.4k
#include <stdio.h>
#include <stdint.h>
#include <string.h>
void GetNumber(int n)
{
int res[15] = {0}, index = 0, count = 0;
// 先转换为2进制
while (n != 0)
{
if(n % 2 == 1) count++;
res[index++] = n % 2;
n /= 2;
}
// 遍历每一位
for (int i = index - 1; i >= 0; i--)
{
if (res[i] != 0)
{
count--;
printf("2");
if(i == 1) {
}else if(i == 0) {
printf("(0)");
}else {
printf("(");
GetNumber(i);
printf(")");
}
if(count > 0) {
printf("+");
}
}
}
}
int main()
{
// freopen("data.txt", "r", stdin);
int n;
while (scanf("%d", &n) != EOF)
{
GetNumber(n);
printf("\n");
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发