📄 1025.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1025 on 2005-09-19 at 11:34:05 */
#include <stdio.h>
int main()
{
long n, weight[27] = {1};
int t, i, rank[27], j, flag;
for(i = 1; i < 27; i++) {
weight[i] = weight[i-1] * 2 + 1;
}
scanf("%d", &t);
for(i = 0; i < t; i++) {
scanf("%ld", &n);
printf("%ld ", n);
for(j = 26; j >= 0; j--) {
rank[j] = n / weight[j];
n -= weight[j] * rank[j];
}
putchar('[');
flag = 0;
for(j = 0; j < 27; j++) {
if(rank[j] == 2) {
if(flag == 1) {
putchar(',');
}
printf("%d,%d", j, j);
flag = 1;
} else if(rank[j] == 1) {
if(flag == 1) {
putchar(',');
}
printf("%d", j);
flag = 1;
}
}
printf("]\n");
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -