样例全过了,但是0分,求助
查看原帖
样例全过了,但是0分,求助
1321233
fkdmdr楼主2024/7/9 09:48

样例全过了,但是是0分,有没有大佬帮助看一下

#include<bits/stdc++.h>
using namespace std;

int main()
{
	long long int N,mid,weishu;
	int ejzzh[200]={0};
	char sljzzl[17]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	cin>>N;
	weishu=0;//判断位数的变量 
	for(int i=1;i<=200;i++)////////
	{
		ejzzh[i]=N%2;
		N=N/2;
		weishu+=1;
		if(N==0&&weishu%7==0)
		{
			break;
		}
	}//////////////////////////////转换二进制 
	for(int i=0;i<=weishu;i++)//////////////////////// 
	{
		//cout<<ejzzh[i];
	}/////////////////////////////////////////////////测试 
	for(int i=1;i<=weishu/7;i++)////////
	{
		mid=i*8;
		for(int j=weishu;j>=mid;j--)
		{
			ejzzh[j+1]=ejzzh[j];
		}
		if(i==weishu/7)
		{
			ejzzh[mid]=0;
			break;
		}
		ejzzh[mid]=1;
	}///////////////////////////////////进行题目中第二步操作 
	//cout<<endl;
	weishu+=weishu/7; 
	for(int i=0;i<=weishu;i++)/////////////////////////////////////////
	{
		//cout<<ejzzh[i];
	}
	//cout<<endl;//////////////////////////////////////////////////////测试 
	for(int i=1;i<=weishu/8;i++)/////////////////// 
	{
		mid=ejzzh[i*8]*8+ejzzh[i*8-1]*4+ejzzh[i*8-2]*2+ejzzh[i*8-3];
		cout<<sljzzl[mid];
		mid=ejzzh[i*8-4]*8+ejzzh[i*8-5]*4+ejzzh[i*8-6]*2+ejzzh[i*8-7];
		cout<<sljzzl[mid]<<' ';
	}//////////////////////////////////////////////转换为16进制并输出 
	return 0;
}
2024/7/9 09:48
加载中...