Submission
Status:
TTTTTTTTTT
Score: 0
User: Cmoss9
Problemset: C.Sort Number
Language: cpp
Time: 1.095 second
Submitted On: 2024-11-10 22:08:04
#include <bits/stdc++.h>
using namespace std;
int main () {
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int n;
cin >> n;
int base[n];
char num[n][100];
int base10[n] = {0};
for (int i = 0;i<n;i++) {
cin >> base[i];
cin >> num[i];
if (base[i]==10) {
for (int j = 0;j<strlen(num[i]);j++) {
base10[i] *= base[i];
base10[i] += num[i][j] - '0';
}
} else if (base[i]>10) {
for (int j = 0;j<strlen(num[i]);j++) {
if ('0' <= num[i][j] && num[i][j] <= '9') {
base10[i] += (num[i][j] - '0')*pow(base[i],strlen(num[i])-j-1);
} else if ('A' <= num[i][j] && num[i][j] <= 'F') {
base10[i] += (num[i][j] - '7')*pow(base[i],strlen(num[i])-j-1);
}
}
} else if (base[i]<10) {
for (int j = 0;j<strlen(num[i]);j++) {
base10[i] += (num[i][j] - '0')*pow(base[i],strlen(num[i])-j-1);
}
}
}
int sum[n] = {0};
for (int i = 0;i<n;i++) {
for (int j = 1;j<=base10[i];j++) {
if (base10[i]%j == 0) {
sum[i] += j;
}
}
}
for (int i = 0;i<n-1;i++) {
for (int j = i;j<n-i-1;j++) {
if (sum[j] < sum[j+1]) {
int temp = sum[j];
sum[j] = sum[j+1];
sum[j+1] = temp;
}
}
}
for (int i = 0;i<n;i++) {
cout << sum[i] << endl;
}
}