1 条题解

  • 1
    @ 2023-12-23 13:35:41
    #include <bits/stdc++.h>
    using namespace std;
    const int N=1e7+10;
    const int INF=0x3f3f3f3f;
    int a[500],w,n,ans;
    char s[500]; 
    int main()
    {
    	while(cin>>w>>s>>n)
    	{
    		int len=strlen(s),p=0;
    		for(int i=len-1;i>=0;i--)
    		{
    			if(s[i]<='z' && s[i]>='a')
    			{
    				ans+=(s[i]-'a'+10)*pow(w,p);
    			}	
    			else if(s[i]<='Z' && s[i]>='A')
    			{
    				ans+=(s[i]-'A'+10)*pow(w,p);
    			}
    			else if(s[i]<='9' && s[i]>='0')
    			{
    				ans+=(s[i]-'0')*pow(w,p);
    			}
    			p++;
    		}
    		int l=0;
    		while(ans!=0)
    		{
    			a[++l]=ans%n;
    			ans/=n;
    		}
    		for(int i=l;i>=1;i--)
    		{
    			if(a[i]>=10)
    			{
    				char hhh='A';
    				hhh+=a[i]-10;
    				cout<<hhh;
    			}
    			else
    			{	
    				cout<<a[i];
    			}
    		}
    		cout<<endl;
    	}
    	return 0;
    }
    

    可以去掉while

    • 1

    信息

    ID
    1216
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    35
    已通过
    8
    上传者