السلام عليكم ورحمة الله وبركاته،
أحاول حل هذا السؤال :
اقتباسFor every positive integer x we define A(x) to be the integer whose digits are those of x in ascending order, and similarly D(x) but in descending order. For example A(2959) = 2599 and D(2959) = 9952. Find all 4-digit integers x such that D(x) – A(x) = x.
لذلك كتبت هذا الكود في C++
#include <iostream.h>
void main ()
{
int num; int i;
int maxd1 = 0 , maxd2 = 0 , maxd3 = 0 , maxd4 = 0;
int numArr[4];
int desNum;
int ascNum;
int d1;
int digit;
int subTest;
for ( num = 1000; num < 10000; num ++ )
{
int num2 = num;
for ( i = 1; i <= 4; ++i )
{
d1 = num2 /10;
digit = num2 - d1*10;
numArr = digit;
num2 = d1;
//
if ( numArr >= maxd1 )
{
maxd4 = maxd3;
maxd3 = maxd2;
maxd3 = maxd2;
maxd2 = maxd1;
maxd1 = numArr;
}
else if (numArr >= maxd2)
{
maxd4 = maxd3;
maxd3 = maxd2;
maxd3 = maxd2;
maxd2 = numArr;
}
else if (numArr >= maxd3)
{
maxd4 = maxd3;
maxd3 = numArr;
}
else
maxd4 = numArr;
}
desNum = maxd1 * 1000 + maxd2 * 100 + maxd3 * 10 + maxd4;
ascNum = maxd4 * 1000 + maxd3 * 100 + maxd2 * 10 + maxd1;
subTest = desNum - ascNum;
cout << subTest;
if ( subTest = num )
{
cout << num;
}
}
} // coded by ala'قمت بترجمة الكود وتشغيل البرنامج..
لكن للأسف لم تظهر أي نتيجة :(
أرجو المساعدة،