Imam pitanje oko zadatka Problems/Oduzmi (ne smem staviti pun link, zato sto sajt pomisli da sam spam i dobijem neki restriction…) . Kako da manipulisem tj. koristim brojeve vece nego sto promenjiva moze da podrzi, posto neki ulazi u test primerima su mnogo veci od maksimalnog broja koji promenjiva moze da podrzi. Pokusao sam rastavljati broj ali mi ne uspeva.
Evo ga kod:
#include "iostream"
#include "iomanip"
using namespace std;
int main(){
unsigned long long A, k, br1=0, p1, br2, br3;
cin >> A;
k=A;
for(br1;k>0;br1++){
k/=10;
}
k = A;
unsigned long long minC[br1];
for(int i=0;i<br1;i++){
minC[i] = k%10;
k/=10;
}
for(int i=0;i<br1;i++){
for(int g=i+1;g<br1;g++){
if(minC[i]>minC[g]){
p1 = minC[i];
minC[i]=minC[g];
minC[g]=p1;
}
}
}
k=A;
unsigned long long maxC[br1];
for(int i=0;i<br1;i++){
maxC[i] = k%10;
k/=10;
}
for(int i=0;i<br1;i++){
for(int g=i+1;g<br1;g++){
if(maxC[i]<maxC[g]){
p1 = maxC[i];
maxC[i]=maxC[g];
maxC[g]=p1;
}
}
}
br2=maxC[0];
br3=minC[0];
for(int i=1;i<br1;i++){
br2*=10;
br2+=maxC[i];
}
for(int i=1;i<br1;i++){
br3*=10;
br3+=minC[i];
}
cout << br2 - br3;
return 0;
}
Hvala unapred