main()
{float i,s=1,sum=1,SUM=4;
for(i=6;i>=1;i--)
{s=s*i;
sum=sum+s; //求出中间部分的排列个数的总和
printf("s=%f,sum=%f\n",s,sum);
}
SUM=SUM+4*6*sum;
printf("SUM=%f\n",SUM);
}
这样可能比较容易理解吧。
[此贴子已经被作者于2007-4-16 19:10:55编辑过]
可以按如下办法解决,但是世间复杂度有点大。我考虑过,统计那么都的数,世间复杂度相对还是较大些。很愿意和你探讨这个题目。我的联系方式:flyskyfile@163.com
(C++语言)
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{
for(int i=0;i<=7;++i)
for(int j=0;j<=7;++j)
for(int k=0;k<=7;++k)
for(int m=0;m<=7;++m)
for(int n=0;n<=7;++n)
for(int l=0;l<=7;++l)
for(int a=0;a<=7;++a)
for(int b=0;b<=7;++b)
{
if((10000000*i+1000000*j+100000*k+10000*m+1000*n+100*l+10*a+b)%2)cout<<(10000000*i+1000000*j+100000*k+10000*m+1000*n+100*l+10*a+b)<<endl;
}
return 0;
}
//---------------------------------------------------------------------------