数码和easy



两个数组,具体看AC代码
#include<stdio.h>
int main(){int T;scanf("%d",&T);while(T--){int n;scanf("%d",&n);int num[128]={0};//i出现了num[i]次int rank[20]={0};for(int b=2;b<17;b++){int t=n;int sum=0;while(t){sum=sum+t%b;t=t/b;}num[sum]++;rank[b]=sum;//b进制的数码和是rank[b]}int max=0;for(int i=0;i<128;i++){if(max<num[i]) max=num[i];}printf("%d\n",max);for(int i=0;i<128;i++){if(num[i]==max){printf("%d ",i);for(int j=0;j<17;j++){if(rank[j]==i){printf("%d ",j);}}printf("\n");}}}
}