PTA - sdut-使用函数求a+aa+aaa++⋯+aa.....aaa(n个a)之和

题目描述:

给定两个均不超过9的正整数a和n,要求:编写函数fn(a,n), 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列之和。

函数接口定义:

def fn(a,n):
    

其中, a 和 n 都是传入的参数。 a 的值在[1, 9]范围;n 是[1, 9]区间内的个位数。函数返回数列之和。

裁判测试程序样例:


/* 请在这里填写答案 */

a,b=input().split()
s=fn(int(a),int(b))
print(s)

输入样例:

在这里给出一组输入。例如:

2 3

输出样例:

在这里给出相应的输出。例如:

246

我的答案:

这道题可以用python的特性来实现,即字符串可以相乘

方法一:

def fn(a,n):
    total = 0
    for i in range(1, n+1):
        total += int(str(a)*i)
    return total

解释一下,先将数字转化为字符串,然后字符串相乘,例如'2' * 2 = '22',然后再将字符串转化为数字就好了

方法二:

可以像传统方法那样,先算出这次的数字,再加到总数上去,但是这样就很繁琐,其他语言例如C++就只能这样干

def fn(a,n):
    total = 0
    part = a
    for i in range(0, n):
        total += part
        part = part * 10 + a
    return total

这里不要为了省事而直接对a进行操作,因为a的值会不断地改变,需要额外定义一个变量来进行相加操作

相关推荐

  1. PTA 7-223 sdut-C语言实验-阶乘(循环结构)

    2024-07-10 03:10:02       53 阅读
  2. PTA - 转换函数使用

    2024-07-10 03:10:02       37 阅读
  3. Python使用函数素数

    2024-07-10 03:10:02       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 03:10:02       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 03:10:02       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 03:10:02       41 阅读
  4. Python语言-面向对象

    2024-07-10 03:10:02       53 阅读

热门阅读

  1. 人工智能与云计算

    2024-07-10 03:10:02       16 阅读
  2. 等保测评——云计算扩展项(云安全风险)

    2024-07-10 03:10:02       18 阅读
  3. iOS 开发者的 Flutter 入门课

    2024-07-10 03:10:02       21 阅读
  4. 认识同源策略

    2024-07-10 03:10:02       16 阅读
  5. LCD EMC 辐射 测试随想

    2024-07-10 03:10:02       16 阅读
  6. C# Halcon目标检测算法

    2024-07-10 03:10:02       21 阅读
  7. 调度的艺术:Eureka在分布式任务调度中的妙用

    2024-07-10 03:10:02       18 阅读
  8. AJAX学习笔记完(学习自用)

    2024-07-10 03:10:02       18 阅读
  9. 揭秘CSS:link与@import的实战应用

    2024-07-10 03:10:02       18 阅读
  10. LeetCode 算法:课程表 c++

    2024-07-10 03:10:02       19 阅读