Re: 11371 - Number Theory for Newbies
Posted: Fri Oct 14, 2011 2:09 am
help me plz wht did I make wrong :'(
#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<math.h>
using namespace std;
long long asending_digit(long long n)
{
long long num,p,temp,arr[200],i,j,k,l;
i=0;
p=n;
while(n)
{
arr=n%10;
n=n/10;
i++;
}
if(i==1)return p;
sort(arr,arr+i);
num=0;int m=1;
k=1;
while(arr[0]==0)
{
swap(arr[0],arr[k]);
k++;
}
for(j=i-1;j>=0;j--)
{
num=num+m*arr[j];
m=m*10;
}
return num;
}
long long decendig_digit(long long n)
{
long long num,p;
int arr[200],i,j,k;
i=0;
p=n;
while(n)
{
arr=n%10;
n=n/10;
i++;
}
if(i==1)return p;
sort(arr,arr+i);
k=i-1;num=0;int m=1;
for(j=0;j<i;j++)
{
if(j==0)num=num+arr[j];
else
num=num+m*arr[j];
m=m*10;
}
return num;
}
int main()
{
long long num,rev,temp,mul,div;
int i,arr[500],len;
while(scanf("%lld",&num)==1)
{
num=asending_digit(num);
rev=decendig_digit(num);
if(num>rev)mul=num-rev;
else mul=rev-num;
div=mul/9;
if(num<0)printf("0 - 0 = 0 = 9 * 0\n");
else if(num>rev)
printf("%lld - %lld = %lld = 9 * %lld\n",num,rev,mul,div);
else
printf("%lld - %lld = %lld = 9 * %lld\n",rev,num,mul,div);
}
return 0;
}
#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<math.h>
using namespace std;
long long asending_digit(long long n)
{
long long num,p,temp,arr[200],i,j,k,l;
i=0;
p=n;
while(n)
{
arr=n%10;
n=n/10;
i++;
}
if(i==1)return p;
sort(arr,arr+i);
num=0;int m=1;
k=1;
while(arr[0]==0)
{
swap(arr[0],arr[k]);
k++;
}
for(j=i-1;j>=0;j--)
{
num=num+m*arr[j];
m=m*10;
}
return num;
}
long long decendig_digit(long long n)
{
long long num,p;
int arr[200],i,j,k;
i=0;
p=n;
while(n)
{
arr=n%10;
n=n/10;
i++;
}
if(i==1)return p;
sort(arr,arr+i);
k=i-1;num=0;int m=1;
for(j=0;j<i;j++)
{
if(j==0)num=num+arr[j];
else
num=num+m*arr[j];
m=m*10;
}
return num;
}
int main()
{
long long num,rev,temp,mul,div;
int i,arr[500],len;
while(scanf("%lld",&num)==1)
{
num=asending_digit(num);
rev=decendig_digit(num);
if(num>rev)mul=num-rev;
else mul=rev-num;
div=mul/9;
if(num<0)printf("0 - 0 = 0 = 9 * 0\n");
else if(num>rev)
printf("%lld - %lld = %lld = 9 * %lld\n",num,rev,mul,div);
else
printf("%lld - %lld = %lld = 9 * %lld\n",rev,num,mul,div);
}
return 0;
}