首页 > 其他分享 >B3620 题解

B3620 题解

时间:2022-08-25 00:45:39浏览次数:84  
标签:10 进制 space int 题解 B3620 color

题目传送门

\(\color{red}{see}\space \color{green}{in}\space \color{blue}{my}\space \color{purple}{blog}\)

小学生又双叒叕来写题解啦!

这题是 \(x\) 进制转 \(10\) 进制的模板题。

如何计算呢,我在此引用一张百度搜索的图片。

图片清晰地展示了 \(x\) 进制转 \(10\) 进制的方法。

那么如何在程序中实现呢?

我们使用基数乘后累加的思想实现。

这也并不是什么高科技办法,具体看下面的代码:

int ans = 0;
for (int i = 0; i < s.length(); i++)
{
	if ('0' <= s[i] && s[i] <= '9')
	{
		//累乘的思想,达到次方的要求。 
		ans = ans * x + (s[i] - '0');
	}
	else
	{
		//如果是字母,就按字母的权值计算。 
		ans = ans * x + (s[i] - 'A' + 10);
	}
}

弄明白之后,我们把上面的代码扔进函数里即可。

完整代码:

#include <iostream>
#include <cstdio>
using namespace std;
int x_to_ten(string s, int x)
{
	int ans = 0;
	for (int i = 0; i < s.length(); i++)
	{
		if ('0' <= s[i] && s[i] <= '9')
		{
			//累乘的思想,达到次方的要求。 
			ans = ans * x + (s[i] - '0');
		}
		else
		{
			//如果是字母,就按字母的权值计算。 
			ans = ans * x + (s[i] - 'A' + 10);
		}
	}
	return ans;
}
int main()
{
	int x;
	string s;
	cin >> x >> s;
	cout << x_to_ten(s, x);
	return 0;
}

首发:2022-03-27 10:30:42

标签:10,进制,space,int,题解,B3620,color
From: https://www.cnblogs.com/liangbowen/p/16622827.html

相关文章

  • CF1646B 题解
    题目传送门\(\color{red}{see}\space\color{green}{in}\space\color{blue}{my}\space\color{purple}{blog}\)看到题解里没有用双指针往中间靠的写法的,果断来一发。思......
  • CF1624C 题解
    题目传送门\(\color{red}{see}\space\color{green}{in}\space\color{blue}{my}\space\color{purple}{blog}\)小学生又双叒叕来写题解啦!这题还是很简单的,甚至不需要像......
  • CF1617B 题解
    题目传送门\(\color{red}{see}\space\color{green}{in}\space\color{blue}{my}\space\color{purple}{blog}\)小学生又双叒叕来写题解啦!其他题解的代码都是\(O(1)\)......
  • CF402A 题解
    题目传送门\(\color{red}{see}\space\color{blue}{in}\space\color{green}{my}\space\color{purple}{blog}\)小学生又双叒叕来写题解啦!看到其他题解描述得并不清晰,我......
  • AT4894 题解
    题目传送门小学生又双叒叕来写题解啦!翻了一下大家的思路,都用了数组,其实根本不用,可以一边读入一边判断。由于只需考虑前后两个数,所以只用两个变量就能实现滚动数组。若......
  • AT4783 题解
    题目传送门小学生又双叒叕来写题解啦!这题的关键就是贪心。看到N的范围,瞬间明白可能要排序。所以我们靠着排序来想。我们来思考一下怎样安排顺序。对于两个时间限......
  • AT4891 题解
    题目传送门小学生又双叒叕来写题解啦!这题的翻译貌似不完整。所谓怪兽与英雄的对决,就是双方同时扣同样的血,直到一方为零。弄懂题后,你会发现,这题不是考贪心,而是模拟。写......
  • AT4573 题解
    题目传送门小学生又双叒叕来写题解啦!我来介绍一种与众不同的跑得更慢的方法,那就是排序加二分。排序的作用是为了二分,因为二分的前提是数组有序。因此读入完数据后排序......
  • AT2141 题解
    题目传送门小学生又双叒叕来写题解啦!出布永远不会亏,所以只要能出布就出布。这就变成了个模拟题。需要记录石头的数量、布的数量、总分。送上满分代码:#include<iostr......
  • AT3524 题解
    题目传送门小学生又双叒叕来写题解啦!每个数都不受限制的可以变成三个数,那我们就用数组存每个数的变身情况,每次都给那三个数对应的计数器加一即可。然后呢?大家的思路都......