金 桔 2022-10-22 13:35 采纳率: 87.5%
浏览 32
已结题

破解四位密码的问题。

** 破解四位密码**

img


1.四位数都不同
2.千位数是十位数的三倍
3.整个数字是奇数
4.所有数字和是27

代码如下
#include<stdio.h>
int main()
{
int a=1, b=3, c=5, d=7;
for (;;)
{
a++;
b++;
c++;
d++;
if (a>9)
a =0;
if (b>9)
b = 0;
if (c>9)
c = 0;
if (d>9)
d = 0;
if (a != b && b != c && c != d && a == 3 * c && (1000 * a + 100 * b + 10 * c + d) % 2 != 0 && a + b + c + d == 27) break;

}

printf("四位密码是%d%d%d%d\n", a, b, c, d);
return 0;

}
** 运行结果及报错内容 **
printf无法输出结果
** 我的解答思路和尝试过的方法 **
a,b,c,d初值是随便赋的,但觉得应该不太对

  • 写回答

2条回答 默认 最新

  • GEEK.攻城狮 2022-10-22 14:47
    关注

    下面是最笨的方法,所有遍历一遍,找出来满足条件的打印出来。
    结果是9837

    
    #include<stdio.h>
    int main()
    {
        int a,b,c,d;
        for(a=0; a<10; a++)
            for(b=0; b<10; b++)
                for(c=0; c<10; c++)
                    for(d=1; d<10; d+=2)
                    {
                        if(a!=b && b!=c && c!=d && d!=a)
                            if(a==(3*c))
                                if((a+b+c+d)==27)
                                {
                                    printf("%d %d %d %d",a,b,c,d);
                                }
                    }
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月22日

悬赏问题

  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?