📄 2860359_ac_343ms_64k.c
字号:
#include <stdio.h>
int exp[] = {1,2,4,8,16,32,64,128,256};
int main()
{
int n, i, j, p, num[257], tmp[257], l;
int a, b;
while(scanf("%d",&n),n)
{
for(i = 0; ; i++)
if(exp[i]==n)
{
p = i;
break;
}
for(i = 1; i <= n; i++)
scanf("%d",&num[i]);
l = 1;
for(i = 1; i <= p; i++)
{
for(j = 1; j <= n; j++)
tmp[j] = num[j];
for(j = 1; j <= l; j++)
{
a = num[j];
b = num[j+l];
tmp[j*2-1] = (a+b)/2;
tmp[j*2] = (a-b)/2;
}
l *= 2;
for(j = 1; j <= n; j++)
num[j] = tmp[j];
}
for(i = 1; i <= n; i++)
printf("%d ",num[i]);
printf("\n");
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -