Submission

Status:
PPPPPPPPPP

Score: 100

User: Monasm

Problemset: C.Sort Number

Language: c

Time: 0.047 second

Submitted On: 2024-10-19 03:16:49

#include<stdio.h> 
#include<string.h> 
#include<math.h> 

int t,n; 
unsigned long long int sum,cnt=0,b[1005],tmp; 
char a[30]; 

int main() { 
    scanf("%d",&t); 
    for(int j=0;j<t;j++) { 
        scanf("%d %s",&n,a); 
        for(int i=0;a[i]!='\0';i++) { 
            if(a[i]>='A') 
                sum+=(a[i]-'A'+10)*pow(n,strlen(a)-i-1); 
            else 
                sum+=(a[i]-'0')*pow(n,strlen(a)-i-1); 
        } 
        for(int i=1;i<=sqrt(sum);i++) { 
            if(sum%i==0) { 
                if(i==sum/i) 
                    cnt+=i; 
                else 
                    cnt+=(i+sum/i); 
            } 
        } 
        b[j]=cnt; 
        sum=cnt=0; 
    } 
    for(int i=0;i<t;i++) { 
        for(int j=i+1;j<t;j++) { 
            if(b[i]<b[j]) { 
                tmp=b[i]; 
                b[i]=b[j]; 
                b[j]=tmp; 
            } 
        } 
    } 
    for(int i=0;i<t;i++) { 
        printf("%llu\n",b[i]); 
    } 
}