40分求助!(为什么公布成绩时是30分,洛谷上测却是40分???)
查看原帖
40分求助!(为什么公布成绩时是30分,洛谷上测却是40分???)
373226
justinjia楼主2020/11/19 18:52

我们老师说y需要初始化,可是后面每个要判断(我指

if(y[k--])
	printf("%d ",i);

)的值都被赋值过了,应该不用初始化啊(求大佬解答qwq)。

完整版代码:

#include"stdio.h"
#include"math.h"
int main(void){
	int n,y[30],k=0;
	scanf("%d",&n);
	if(n%2==1)
		printf("-1");
	else{
		while(n!=0){
			y[k++]=n%2;
			n/=2;
		}
		for(int i=pow(2,k);i>=2;i/=2)
			if(y[k--])
				printf("%d ",i);
	}
	return 0;
}
2020/11/19 18:52
加载中...