2 solutions

  • 3
    @ 2024-6-7 19:57:57
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int R;
        string s;
        int p=1;
        cin>>R>>s;
        int res=0;
        reverse(s.begin(),s.end()); //反正 
        for(int i=0;i<s.size();i++)
        {
            int t; //当前位表示的值 
            if(s[i]>='A')
            {
                t=s[i]-'A'+10;
            }
            else
            {
                t=s[i]-'0';
            }
            res+=t*p; //值乘以权重 
            p=p*R; //计算下一位的权重 
        }
        cout<<res;
        return 0;
    }
    
    • 0
      @ 2024-9-11 20:45:01
      #include<bits/stdc++.h>
      using namespace std;
      
      int main()
      {
      	int su=0;
      	int r;
      	string s;
      	cin>>r;
      	cin>>s;
      	int t;
      	int jishu=1;
      	for(int i=s.size()-1;i>=0;i--)
      	{
      		if(s[i]>='A') t=s[i]-'A'+10;
      		else t=s[i]-'0';
      		su+=t*jishu;
      		jishu*=r;
      	}
      	cout<<su;
      	return 0;
      }
      
      
      
      • 1

      Information

      ID
      105
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      3
      Tags
      (None)
      # Submissions
      75
      Accepted
      25
      Uploaded By