寻找具有下列特性的四位正整数,其百位数为0,去掉百倍数0可得到一个三位正整数,而该三位正整数乘以9等于原四位正整数

img


完善上面程序例如,6075=675*9,所以6075是具有上述特性的正整数。

n / 100 % 10
(a*100+c*10+d)*9==n 
func(i) == 1

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/649073
  • 除此之外, 这篇博客: 7-3 逆序的三位数 (10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是中的 输入样例: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 123

    结尾无空行

  • 以下回答由chatgpt基于相关博客总结生成:

    问题解答:

    # 寻找符合条件的四位正整数
    for i in range(1000, 10000):
        # 判断百位数是否为0
        if str(i)[1] == '0':
            # 去掉百位数0可得到一个三位正整数
            t = int(str(i)[0] + str(i)[2:])
            if t * 9 == i:
                # 三位正整数乘以9等于原四位正整数
                print(i)
    
    # 输出:6075
    

    该程序使用 Python 语言实现。思路如下:

    1. 遍历 1000-10000 的所有四位数;
    2. 判断其百位是否为 0,若不为 0 跳过;
    3. 去掉百位数 0 后得到一个三位正整数;
    4. 判断该三位正整数乘以 9 是否与原四位正整数相等,若相等输出。

    输出结果为 6075。

    注:建议该问题的程序在原有代码结构的基础上,采用 Python 语言进行修改,这样会更方便易于理解。

    # 该程序为上述题目中的 C 语言程序,对其进行了 Python语言实现。
    # 同时,针对少数需要注意的细节,进行了一些注释。
    
    for i in range(1000, 10000):
        # 判断百位数是否为0
        if str(i)[1] == '0':
            # 去掉百位数0可得到一个三位正整数
            t = int(str(i)[0] + str(i)[2:])
            if t * 9 == i:
                # 三位正整数乘以9等于原四位正整数,满足条件,输出
                print(i)
    

    关于第三个问题:密码检验问题

    该问题是一个综合问题,以 Python 代码实现为例:

    def isright(a):
        """
        用于对每个类型的字符计数并且判断有没有出现非法字符。
        flag: 是否出现非法字符。
        """
        b = 0
        s = 0
        n = 0
        o = 0
        flag = True
        # 遍历字符串
        for c in a:
            # 是否为数字
            if c.isdigit():
                n += 1
            # 是否为大写字母
            elif c.isupper():
                b += 1
            # 是否为小写字母
            elif c.islower():
                s += 1
            # 是否为其他字符
            elif c in [' ', '@', '-', '_', '#', '~']:
                o += 1
            else:
                # 非法字符
                flag = False
                break
        return (b, s, n, o, flag)
    
    
    def is3(b, s, n, o):
        """
        判断密码是否符合至少三种字符的规定。
        """
        count = 0
        for i in [b, s, n, o]:
            if i > 0:
                count += 1
        if count < 3:
            return False
        else:
            return True
    
    
    password = 'Aa123456☆'
    
    # 去除空格
    password = password.strip()
    # 判断密码是否合法
    result1 = isright(password)
    if not result1[4]:
        print("密码中存在非法字符")
    elif len(password) < 8:
        print("密码长度太短")
    elif not is3(*result1[:-1]):
        print("密码中应包含大小写字母、数字、其它符号四种中至少三种字符")
    else:
        print("密码设置成功")
    

    解释:

    该程序中包含两个自定义函数。函数 isright 用于计算密码中包含大小写字母、数字、特殊符号的个数,并判断密码中是否存在其他非法字符。该函数返回的是四种密码字符类型中每种字符的计数,以及布尔值 flag。函数 is3 用于判断密码中是否至少包含三个字符类型,返回布尔值。最终的主函数中,去掉了密码字符串中的空格,依次判断密码长度是否达到要求,密码字符类型及是否存在非法字符,打印合适的提示信息。

    输入:Aa123456☆

    输出:密码设置成功