Submission

Status:
TTTTTTTTTT

Score: 0

User: Angonnyyy

Problemset: C.Sort Number

Language: c

Time: 1.035 second

Submitted On: 2024-10-16 18:37:37

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


unsigned int sep(int n){
    unsigned int all=1+n;
    int a=2;
    while(a<=(n/2)+1){
        if(n%a==0)all+=a;
        a++;
    }
    return all;
    
}
int main() {
    int n,i,l,j,b,ten=0,mi;
    scanf("%d",&n);
    char in[40];
    unsigned int sum[n],max;
    for(i=0;i<n;i++){
        
        scanf("%d %s",&b,in);//printf("loop");
        sum[i]=0;
        ten=0;
        l = strlen(in);
        for(j=0;j<l;j++){
            if(in[j]>='0'&&in[j]<='9')
            ten+=((in[j]-48)*pow(b,(l-1-j)));
            else ten+=((in[j]-55)*pow(b,(l-1-j)));
            //printf(" %d ",ten);
        }
        sum[i] = sep(ten);
        
    }
    for(j=0;j<n;j++){
        max=0;mi=0;
        for(i=0;i<n;i++){
        if(sum[i]>max){
            mi=i;
            max=sum[i];
        }}
        printf("%u\n",sum[mi]);
        sum[mi]=0;
    }
    
}