博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
L1-080 乘法口诀数列 (20 分)(Python版)
阅读量:2060 次
发布时间:2019-04-29

本文共 716 字,大约阅读时间需要 2 分钟。

本题要求你从任意给定的两个 1 位数字 a1和 a2开始,用乘法口诀生成一个数列 {a​n},规则为从 a1开始顺次进行,每次将当前数字与后面一个数字相乘,将结果贴在数列末尾。如果结果不是 1 位数,则其每一位都应成为数列的一项。

输入格式:

输入在一行中给出 3 个整数,依次为 a1、a2和 n,满0≤a​1,a​2≤9,0<n≤103

输出格式:

在一行中输出数列的前 n 项。数字间以 1 个空格分隔,行首尾不得有多余空格。

输入样例:

2 3 10
输出样例:
2 3 6 1 8 6 8 4 8 4
样例解释:
数列前 2 项为 2 和 3。从 2 开始,因为 2×3=6,所以第 3 项是 6。因为 3×6=18,所以第 4、5 项分别是 1、8。依次类推…… 最后因为第 6 项有 6×8=48,对应第 10、11 项应该是 4、8。而因为只要求输出前 10 项,所以在输出 4 后结束。

a1, a2, n = map(int, input().split())ls = [a1, a2]count = 2while len(ls) <= n:    if (a1 * a2) <= 9:        ls.append(a1 * a2)    else:        ls.append(a1 * a2 // 10)        ls.append(a1 * a2 % 10)    a1 = ls[count - 1]    a2 = ls[count]    count += 1for i in range(n - 1):    print(ls[i], end=' ')print(ls[n - 1])

转载地址:http://vsolf.baihongyu.com/

你可能感兴趣的文章
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>
<stdarg.h>头文件的使用
查看>>
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>
Git的Patch功能
查看>>
分析C语言的声明
查看>>
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
查看>>
C结构体、C++结构体、C++类的区别
查看>>
进程和线程的概念、区别和联系
查看>>
CMake 入门实战
查看>>
绑定CPU逻辑核心的利器——taskset
查看>>
Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题
查看>>
c结构体、c++结构体和c++类的区别以及错误纠正
查看>>
Linux下查看根目录各文件内存占用情况
查看>>
A星算法详解(个人认为最详细,最通俗易懂的一个版本)
查看>>