求大佬解答一下为什么最后输出要加(int) 不加就都输出0
查看原帖
求大佬解答一下为什么最后输出要加(int) 不加就都输出0
462159
失败尽常态楼主2021/9/16 14:23
#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
	cin>>n;
	if(n%2==1){
		printf("-1");
		return 0;
	}
	while(1){
		if(n<=0){
			break;
		}
		int i=1;
		while(1){
			if(pow(2,i+1)>n){
				break;
			}
			i++;
		}
		n-=pow(2,i);
		printf("%d ",(int)pow(2,i));
	}
	return 0;
}
2021/9/16 14:23
加载中...