Здравствуйте, Spark, Вы писали:
Да вы

батенька
#pragma pack(push, 1)
typedef unsigned int uint32;
typedef unsigned __int64 uint64;
struct ui64
{
union
{
struct
{
uint32 lo;
uint32 hi;
};
uint64 i64;
};
};
#pragma pack(pop)
int _tmain(int argc, _TCHAR* argv[])
{
uint32 arr[10000];
memset(arr, 0, sizeof(arr));
arr[0]=1;
int maxi=0;
ui64 x;
for(uint32 n=2;n<=10000;n++)
{
int i=0;
uint32 a=0;
do
{
x.i64=arr[i];
x.i64*=n;
arr[i]=x.lo+a;
a=x.hi;
i++;
}
while(a||i<maxi);
maxi=i;
}
x.i64=0;
maxi--;
do
{
printf("%X",arr[maxi]);
maxi--;
}
while(maxi>=0);
printf("%u\n", x.hi);
return 0;
}
Вот только спать пора...лень в десятичном виде печатать...
... << RSDN@Home 1.0 beta 5 >>