高清新闻联播视频:谁帮我优化下C代码,我觉的太占CPU了!

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 15:42:18
#include <windows.h>
#include <stdio.h>
int main()
{ FILE *fp;
int ii=20085;
int a,b,c,d,e,f,g,h,i,j;
fp=fopen("pass.txt","w+");
for (a=0;a<=9;a++)
{
for (b=0;b<=9;b++)
{
for (c=0;c<=9;c++)
{
for (d=0;d<=9;d++)
{
for (e=0;e<=9;e++)
{
for (f=0;f<=9;f++)
{
for (g=0;g<=9;g++)
{
for (h=0;h<=9;h++)
{
for (i=0;i<=9;i++)
{
for (j=0;j<=9;j++)

{
if((a!=b && a!=c && a!=d && a!=e && a!=f && a!=g && a!=h && a!=i && a!=j) &&
(b!=c && b!=d && b!=e && b!=f && b!=g && b!=h && b!=i && b!=j) &&
(c!=d && c!=e && c!=f && c!=g && c!=h && c!=i && c!=j) &&
(d!=e && d!=f && d!=g && d!=h && d!=i && d!=j) &&
(e!=f && e!=g && e!=h && e!=i && e!=j) &&
(f!=g && f!=h && f!=i && f!=j) &&
(g!=h && g!=i && g!=j) &&
(h!=i && h!=j) &&
i!=j )
{
printf("%d %d %d %d %d %d %d %d %d %d\n",a,b,c,d,e,f,g,h,i,j);
// getch();
if (((a*10000) + (b*1000) + (c*100) + (d*10) + e +ii) == ((f*10000) + (g*1000) + (h*100) + (i*10) + j))
{
fprintf(fp,"%d %d %d %d %d %d %d %d %d %d\n",a,b,c,d,e,f,g,h,i,j);

//getch();
printf("A=%d\n%d\n",a,j);
}}
}}}}}}}}}}
fclose(fp);
getch();
}
---------------------------------------------
我电脑用了下,占了%40!
呵呵 不好意思...
--------------(这样写 不知道行不行了).
要求完成下面的表达式
a b c d e
+2 0 0 8 5
------------
f g h i j
要求abcdefghij分别表示从0到9的一位数字,而且不允许重复使得上面的加法表达式成立.最后将所有满足条件的数写到文件Pass.txt

for循环多了肯定占CPU啊,好像没什么好方法,我只能想到f肯定不小于2,可以从1开始循环,省了6561次运算,哈哈。

没分不要。