求助,40分,样例本地都通过了
查看原帖
求助,40分,样例本地都通过了
709528
Carpediemllll楼主2022/5/5 11:58
#include <iostream>
#include<algorithm>
#include<string>
#include<cmath>
#include<iomanip>
#include<cstring>
#include<vector>
using namespace std;

int transfor1(string str1)
{
	int num = 0; int j = 0;
	for (int i = str1.length()-1;i>=0; --i)
	{
		num += (str1[i] - '0') * pow(8, j++);
	}
	return num;
}

int transfor2(int num, int jinzhi, string& result)
{
	if (num == 0) return 1;
	int temp = num % jinzhi;
	transfor2(num / jinzhi, jinzhi, result);
	if (temp > 9) result += (temp - 10 + 'a');
	else result += (temp + '0');
}
int main()
{

	string str1;//八进制字符串
	getline(cin, str1);//输入

	int num = transfor1(str1);//存十进制数
	
	string result = "";
	transfor2(num, 16, result);//十进制转16进制
	cout << result << endl;
	return 0;
}
2022/5/5 11:58
加载中...