洛谷题单3-P5719 【深基4.例3】分类平均-python-流程图重构

题目描述

给定 n n n 和 k k k,将从 1 到 n n n 之间的所有正整数可以分为两类:A 类数可以被 k k k 整除(也就是说是 k k k 的倍数),而 B 类数不能。请输出这两类数的平均数,精确到小数点后 1 1 1 位,用空格隔开。

数据保证两类数的个数都不会是 0 0 0。

输入格式

输入两个正整数 n n n 与 k k k。

输出格式

输出一行,两个实数,分别表示 A 类数与 B 类数的平均数。精确到小数点后一位。

输入输出样例

输入

复制代码
100 16

输出

复制代码
56.0 50.1

说明/提示

数据保证, 1 ≤ n ≤ 10000 1 \leq n\leq 10000 1≤n≤10000, 1 ≤ k ≤ 100 1 \leq k \leq 100 1≤k≤100。

方式

代码

python 复制代码
class Solution:
    @staticmethod
    def oi_input():
        """从标准输入读取数据"""
        num1, num2 = map(int, input().split())
        return num1, num2

    @staticmethod
    def oi_test():
        """提供测试数据"""
        return 100, 16

    @staticmethod
    def solution(num1, num2):
        nums_a, nums_b = [], []

        for i in range(1, num1 + 1):
            if i % num2 == 0:
                nums_a.append(i)
            else:
                nums_b.append(i)

        print("{:.1f}".format(sum(nums_a) / len(nums_a)), "{:.1f}".format(sum(nums_b) / len(nums_b)))


oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solution

if __name__ == '__main__':
    num1, num2 = oi_test()
    # num1, num2 = oi_input()
    solution(num1, num2)

流程图

是 否 是 否 是 否 开始 读取输入num1和num2 初始化nums_a和nums_b 遍历1到num1的所有数 能否被num2整除? 加入nums_a 加入nums_b 继续下一个数 计算平均值 nums_a是否为空? avg_a = 0.0 avg_a = sum_a / len_a nums_b是否为空? avg_b = 0.0 avg_b = sum_b / len_b 格式化输出两位小数 结束

相关推荐
总要学点什么9 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
田甲9 小时前
做一款 Type-C 母座读卡器:GL3224 双卡方案实测
c语言·开发语言
民乐团扒谱机9 小时前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”
linux·人工智能·算法
青少儿编程课堂9 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:中缀表达式求值解析
c++·python·算法·bfs·信息学竞赛
严肃小白兔9 小时前
MATLAB 绘图与科研论文插图制作:图形设计、统计表达与矢量导出
开发语言·matlab·科研绘图
Funlang11 小时前
给机器写的 JavaScript 造个笼子
开发语言·javascript·ecmascript
普通人611 小时前
PHP文件读写完全指南
开发语言·php·1024程序员节
灿飞屋11 小时前
Kotlin与Java虚拟机四:函数
java·python·kotlin·安卓·android jetpack
武子康11 小时前
Qwen-Drive 到底是什么:4B 级 VLM 如何成为驾驶策略底座
人工智能·算法·机器学习
坤坤子吖12 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习