m0_71266808 2022-05-23 12:49 采纳率: 100%
浏览 71
已结题

业务分析编程基础知识

1)国际象棋的车在水平或垂直方向上移动。给出棋盘上两个不同的格子,判断车是否能在一次移动中从第一个格子移动到第二个格子。程序收到四个数字,每个数字从1到8,首先给出第一个方格的列号和行号,然后是第二个方格的列号和行号。如果车可以从第一个位置移动到第二个位置,程序应该输出 "是",否则输出 "否"。

2)如图,计算函数F(n)的算法由以下关系给出。
函数F(99)+F(100)的值是多少?
3)找到最大元素的第一次出现的索引。输出两个数字:包含二维数组中最大元素的行和列的数字。如果有多个这样的元素,就打印行号较小的那个,如果行号相等,就打印列号较小的那个。

该程序接收到大小为n和m的数组作为输入,然后是n行,每行m个数字。

4)如图
5)创建一个文件,并将公司员工的信息写入其中。阅读该文件,了解有多少员工超过40岁。
6) 该商店出售的油漆有15公斤、17公斤和21公斤的盒子。
你必须在不开箱的情况下准确买到185公斤的油漆。有多少种方法可以做到这一点?
7) 给出一个20个数字的清单。把一个三连号称为三个连续的数字。确定有多少个这样的三角形可以成为一个直角三角形的边。如果没有这样的三元组,打印0。

img

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-05-23 13:19
    关注

    第一题:

    def move(cube:list)->bool:
        if (cube[0],cube[1])==(cube[2],cube[3]):return False # 同一个格子
        if cube[0] == cube[2] or cube[1] == cube[3]:return True # 同行或同列
        return False
    cube = list(map(int,input().split()))
    print('是') if move(cube) else print('否')
    

    第二题:

    def fun(n):
        if n<=5:return 2*n
        if n>5:
            return fun(n-2)+3*fun(n/2)+n if n%2==0 else fun(n-1)+fun(n-2)+fun(n-3)
    print(fun(99)+fun(100))
    

    第三题:

    n, m = eval(input())
    res = []
    for i in range(n):
        res += list(map(int,input().split()))
    loc = res.index(max(res))
    print(1+loc//m, 1+loc%m)
    

    运行结果:

    (5,5)
    1 2 3 4 5
    2 3 4 5 6
    5 6 7 8 9
    7 8 9 1 2
    9 8 7 6 5
    3 5
    

    第四题:

    def fun(n):
        return 1 if n==1 else n*fun(n-1)
    n = int(input())
    sumtotal = 0
    for i in range(n):
        sumtotal += fun(i+1)
    print(sumtotal)
    

    第五题:

    s = ['张三 男 30','李四 女 40','王五 男 50']
    with open(r'员工信息.txt','w') as f:
        f.write('\n'.join(s))
    with open(r'员工信息.txt','r') as f:
        p = f.readlines()
    userinfo = [i.strip().split() for i in p]
    print(len([i for i in userinfo if int(i[2])>40]))
    

    第六题:

    res=[]
    for x in range(185//15+1):
        for y in range(185//17+1):
            for z in range(185//21+1):
                if 15*x + 17*y + 21*z == 185:
                    res.append([x,y,z])
                    break
    print(f'有{len(res)}种方法可以做到:')
    for i in res:
        print(f'{i[0]}箱15公斤、{i[1]}箱17公斤、{i[2]}箱21公斤')
    

    运行结果:

    有5种方法可以做到:
    0箱15公斤、1箱17公斤、8箱21公斤
    1箱15公斤、10箱17公斤、0箱21公斤
    3箱15公斤、7箱17公斤、1箱21公斤
    5箱15公斤、4箱17公斤、2箱21公斤
    

    第七题:

    nums = list(map(int,input().split()))
    res = []
    for i in range(len(nums)-2):
        m = [nums[i],nums[i+1],nums[i+2]]
        l = sorted(m)
        if l[0]**2+l[1]**2==l[2]**2:
            res.append(m)
    print(len(res))
    

    运行结果:

    5 4 3 5 4 3
    [5, 4, 3] [4, 3, 5] [3, 5, 4] [5, 4, 3]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月23日
  • 已采纳回答 5月23日
  • 创建了问题 5月23日

悬赏问题

  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计
  • ¥15 用联想小新14Pro
  • ¥15 multisim中关于74ls192n和DSWPK开关仿真图分析(减法计数器)
  • ¥15 基于8255的交通灯设计
  • ¥15 w3wp,exe 中发生未处理的 Microsoft ,NETFramework 异常。
  • ¥20 C51单片机程序及仿真(加减器)
  • ¥15 AQWA | 水动力分析 二阶波浪力
  • ¥15 c语言题目:成绩管理系统