1 条题解

  • 0
    @ 2024-12-22 11:04:50

    C++ :

    #include<cstdio>
    #include<cmath>
    #include<cstdlib>
    #include<iostream>
    #include<string.h>
    using namespace std;
    int main()
    {
        int n,i,j;
        char str[30];
        scanf("%d",&n);
        while(n--)
        {
            scanf("%s",str);
             int t=strlen(str);
            if(str[0]>='A'&&str[0]<='Z')
               {int m=0;
                long long sum=0;
               for(i=t;i>0;i--)
                {
                   sum=sum+int(str[i-1]-'A'+1)*pow(26,m);
                   m++;
                }
    
                printf("%lld\n",sum);
               }
               else
               {   int p=0;
                   for(i=0;i<t;i++)
                     p=p*10+str[i]-'0';
                 for(i=0;p>0;i++)
                     {str[i]=char((p-1)%26)+'A';
                       p=(p-1)/26;
                      }
                     for(j=i-1;j>=0;j--)
                     {
                      printf("%c",str[j]);
                     }
                         printf("\n");
    
    
    
               }
    
        }
    
    
    }
    
    

    Java :

    import java.util.Scanner;
    public class Main
    {
    	public static void main(String[] args)
    	{
    		Scanner sc=new Scanner(System.in);
    		int N=sc.nextInt();
    		while(N-->0)
    		{
    			String str=sc.next();
    			if(str.charAt(0)<65)
    			{
    				int num=Integer.parseInt(str);
    				StringBuffer sb=new StringBuffer();
    				if(num%26==0)
    				{
    					if(num/26==1)
    						System.out.println("Z");
    					else
    						System.out.println((char)(num/26-1+64)+"Z");
    				}else{
    					while(num>0)
    					{
    						sb.append((char)(num%26+64));
    						num/=26;
    					}
    					System.out.println(sb.reverse());
    				}
    			}else{
    				char ch[]=str.toCharArray();
    				int sum=0;
    				for(int i=0;i<ch.length;i++)
    				{
    					sum+=Math.pow(26,ch.length-i-1)*(ch[i]-64);
    				}
    				System.out.println(sum);
    			}
    		}
    	}
    }
    
    • 1

    信息

    ID
    404
    时间
    3000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者