标题:求大神优化程序,就是能不能不用穷举。用其他的方法能不能做出来
取消只看楼主
百里
Rank: 2
等 级:论坛游民
帖 子:34
专家分:66
注 册:2016-10-1
结帖率:100%
已结贴  问题点数:10 回复次数:0 
求大神优化程序,就是能不能不用穷举。用其他的方法能不能做出来
编写程序求以下算式中XYZ的值,其中两数XYZ与YZZ相加的和n(99<n<1000)的值要求从键盘输入。


程序运行结果示例1:
Input n(n<1000):
532↙
X=3,Y=2,Z=1

程序运行结果示例2:
Input n(n<1000):
977↙
Invalid
///////////////////以下是希望能被修改的源程序////////////////
#include"stdio.h"
void  reduction(int n);
int main()
{
    int n;
    printf("Input n(n<1000):n");
    scanf( "%d" , & n);
    reduction(n);
    return 0;
}
void reduction(int n)
{
    int X, Y ,Z, t, k,flag=0;
    for(X=1;X<=9;X++)
        {
            for(Y=0;Y<=9;Y++)
                {
                    for(Z=0;Z<=9;Z++)
                        {
                            t=X*100+Y*10+Z;
                            k=Y*100+Z*10+Z;
                            if(t+k==n)
                            {
                                printf("X=%d,Y=%d,Z=%dn",X , Y , Z);
                                flag=1;
                                break;
                            }
                        }
                }
        }
        if(!flag)
        {
            printf("Invalidn");
        }
 }

搜索更多相关主题的帖子: 编写程序 include return 源程序 键盘 
2016-10-16 11:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469847-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017005 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved