「已注销」 2021-10-15 15:13 采纳率: 75%
浏览 203
已结题

请问这题该怎么做?不能用数组和函数。

img

  • 写回答

3条回答 默认 最新

  • 三雷科技 C/C++领域新星创作者 2021-10-19 13:58
    关注
    #include <iostream>
    using namespace  std;
    
    int main()
    {
        int c= 0;
        for (int i1 = 1; i1<= 9 ;i1++) {
            for (int j1 = 1; j1<=9 ;j1++) {
                for (int k1 = 1; k1<=9 ;k1++) {
                    if(i1 == j1 || i1 == k1 || k1 == j1) continue;
                    for (int i2 = 1; i2<=9 ;i2++) {
                        for (int j2 = 1; j2<=9 ;j2++) {
                            for (int k2 = 1; k2<=9 ;k2++) {
                                if(i2 == j2 || i2 == k2 || k2 == j2) continue;
                                if(i1 == i2 || i1 == j2 || i1 == k2)  continue;
                                if(j1 == i2 || j1 == j2 || j1 == k2)  continue;
                                if(k1 == i2 || k1 == j2 || k1 == k2)  continue;
                                for (int i3 = 1; i3<=9 ;i3++) {
                                    for (int j3 = 1; j3<=9 ;j3++) {
                                        for (int k3 = 1; k3<=9 ;k3++) {
                                            if(i3 == j3 || i3 == k3 || k3 == j3) continue;
                                            if(i1 == i3 || i1 == j3 || i1 == k3)  continue;
                                            if(j1 == i3 || j1 == j3 || j1 == k3)  continue;
                                            if(k1 == i3 || k1 == j3 || k1 == k3)  continue;
                                            if(i2 == i3 || i2 == j3 || i2 == k3)  continue;
                                            if(j2 == i3 || j2 == j3 || j2 == k3)  continue;
                                            if(k2 == i3 || k2 == j3 || k2 == k3)  continue;
                                             int num1 = i1*100 + j1*10 +k1;
                                             int num2 = i2*100 + j2*10 +k2;
                                             int num3 = i3*100 + j3*10 +k3;
    
                                             if(num1 >= num2) continue;
                                             if(num2 >= num3) continue;
    
                                             if(num1 + num2 + num3 == 1953){
                                                 cout <<"NO. \t"<<num1<<"+"<<num2<<"+"<<num3<<endl;
                                                 c++;
                                             }
                                        }
                                    }
                                }
    
    
                            }
                        }
                    }
                }
            }
        }
        cout <<"total="<<c;
        return 0;
    }
    

    运行结果如下:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月28日
  • 已采纳回答 10月20日
  • 创建了问题 10月15日

悬赏问题

  • ¥15 不管从键盘上输入多少字符或者数组 输出的结果两个字符间间隔一个空格符
  • ¥30 频率分析法分析绘制奈奎斯特图、波特图
  • ¥15 弹出来一万个系统找不到指定的文件框框,怎么解决
  • ¥15 ADS生成的微带线为什么是蓝色空心的
  • ¥15 求一下解题思路,完全不懂
  • ¥15 tensorflow
  • ¥15 densenet网络结构中,特征以cat方式复用后是怎么进行误差回传的
  • ¥15 STM32G471芯片spi设置了8位,总是发送16位
  • ¥15 R语言并行计算beta-NTI中tree文件的类型
  • ¥15 如何解读marsbar导出的ROI数据?