1 条题解
-
0
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
- 817
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者