感觉这题重点是考大数。。规律很好找,3的倍数就是B
考大数的话不得不拿出我的java大法了
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int len=in.nextInt();
BigInteger three=new BigInteger("3");
BigInteger li=new BigInteger("0");
for(int i=0;i<len;i++) {
BigInteger bnum=in.nextBigInteger();
bnum=bnum.mod(three);
if(bnum.equals(li)) System.out.println('B');
else System.out.println('A');
}
}
}
2017/12/14 ↓
刚刚想到其实求三的倍数,就是各项相加是三的倍数就行
这样就没必要用大数了。。。。!!!!!!
#include <cstdio>
#include <algorithm>
#include <vector>
#include <iostream>
#include <cstring>
using namespace std;
int main(){
int n;
scanf("%d",&n);
while(n--){
char a[1001];
scanf("%s",a);
int len=strlen(a);
int sum=0;
for(int i=0;i<len;i++){
sum+=a[i]-'0';
}
if(sum%3==0) printf("B\n");
else printf("A\n");
}
return 0;
}