紧急求助,help
查看原帖
紧急求助,help
1244509
renzhanwen楼主2024/6/8 16:49

@Monkey000001 @Wuyuze0921

希望指出错误,我感觉没错呀,但为什么样例不过?

#include<bits/stdc++.h>
using namespace std;
long long n,a[100],k;
bool ss=false;
int f(int aa,int bb)
{
	if(bb==0)
		return 0;
	int m=1;
	for(int i=1;i<=aa;i++)
		m*=2; 
	return m;
}
void g(int m)
{
	if(ss==false)
		ss=true;
	else
		cout<<" ";
	int c=m%16,d=m/16;
	if(d<=9)
		cout<<d;
	else
		cout<<char(d+55);
	if(c<=9)
		cout<<c;
	else
		cout<<char(c+55);
}
int main()
{
	cin>>n;
	if(n==0)
	{
		cout<<"00";
		return 0;
	}
	while(n!=0)
	{
		k++;
		a[k]=n%2;
		n/=2;
	}
	if(k%7!=0)
		k+=(7-k%7);
	int i=1;
	while(i<=k)
	{
		int m=0;
		if(i==k)
			m+=256;
		for(int j=i;j<=i+6;j++)
			m+=f(j-i,a[j]);
		g(m); 
		i+=7;
	}
    return 0;
}
2024/6/8 16:49
加载中...