带你刷 · C语言 | Sn=a+aa+aaa+aaaa+aaaaa+...的前n项之和

简介: 问:求`Sn=a+aa+aaa+aaaa+aaaaa+...`的前`n`项之和,其中`a`是一个数字

在这里插入图片描述
啊我摔倒了..有没有人扶我起来学习....


题目

问:求Sn=a+aa+aaa+aaaa+aaaaa+...的前n项之和,其中a是一个数字

输入描述:
输入一个整数a,表示每项的每一位数;输入一个整数n,表示有n

输出描述:
n项之和

示例
输入
2 5

输出
24690(2+22+222+2222+22222)


解法

1. 确定思路

  • 我们就拿示例来分析分析
  • 首先,a不管输入是什么,在输入那一刻就已经决定了
  • n表示一共有n项,而且都是一位数开始,到n位数结束
  • 再画个图,可以发现,后一个数都是前一个数的十倍再加上前一个数(10 * a + a)

在这里插入图片描述

2. 编写代码

  • 根据上述的思路,n表示有n项,那我们就来个循环,循环一次就多一个项
scanf("%d%d", &a, &n);
    for (i = 0; i < n; i++)
    {
        //......
    }
  • 既然后一个数都是前一个数的十倍再加上前一个数,直接上(10 * a + a)。然后每一次循环都要变化一次,所以就用a来储存起来
    for (i = 0; i < n; i++)
    {
        tmp = tmp * 10 + a;
        //......
    }
  • 再根据题目,需要求前n项之和,好办,定义一个sum
    for (i = 0; i < n; i++)
    {
        tmp = tmp * 10 + a;
        sum += tmp;
    }
  • 这样就设计出来了~我们测试一下
附上整个代码:输入 2 5
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
    int a = 0;
    int n = 0;
    int i = 0;
    int sum = 0;
    int tmp = 0;


    scanf("%d%d", &a, &n);
    for (i = 0; i < n; i++)
    {
        tmp = tmp * 10 + a;
        sum += tmp;
    }
    printf("%d\n", sum);

    return 0;
}
输出结果: 在这里插入图片描述
成功成功~收工!

在这里插入图片描述

相关文章
|
6月前
|
存储 监控 文件存储
AAA原理与配置
AAA原理与配置
|
7月前
|
测试技术 索引
【每日一题Day296】LC833字符串中的查找与替换 | 排序+模拟
【每日一题Day296】LC833字符串中的查找与替换 | 排序+模拟
46 0
|
7月前
【每日一题Day195】LC1003检查替换后的词是否有效 | 栈
【每日一题Day195】LC1003检查替换后的词是否有效 | 栈
49 0
C语言第二十六弹--求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字
C语言第二十六弹--求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字
|
C语言
C语言:求Sn=a+aa+aaa+aaaa+aaaaa+……的前n项之和
思路: 总体思路: (一). 生成变量: int a = 0; -- 题目中的a int n = 0; -- a 的前 n 项
207 0
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
766 0
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
求a+aa+aaa+aaaa+aaaaa的值
求a+aa+aaa+aaaa+aaaaa的值
139 0
|
机器学习/深度学习 C语言
C语言刷题系列——3.a+aa+...+aaa..aa表达式输出
C语言刷题系列——3.a+aa+...+aaa..aa表达式输出
289 0
求Sn=a+aa+aaa+aaaa+aaaaa的前五项之和,其中,a是一个数字,如2+22+222+2222+22222
求Sn=a+aa+aaa+aaaa+aaaaa的前五项之和,其中,a是一个数字,如2+22+222+2222+22222
185 0
(JAVA编程练习):求s=a+aa+aaa+aaaa+a......a的值。
(JAVA编程练习):求s=a+aa+aaa+aaaa+a......a的值。
(JAVA编程练习):求s=a+aa+aaa+aaaa+a......a的值。