zoukankan      html  css  js  c++  java
  • 求Sn=a+aa+aaa+...+aa+⋯+a��������������n个a 之值,其中a是一个数字,n表示a的位数,n由键盘输入。例如: 2+22+222+2222+22222 (此时n=5)

    (S_n)=a+aa+aaa+...+(overbrace{aa+dots+a}^{n个a}) 之值,其中a是一个数字,n表示a的位数,n由键盘输入。例如:

    2+22+222+2222+22222 (此时n=5)

    答案解析:

    该题目可以将数字拆分为 a * 10^n + 前一个数字,例如:

    2 = 2 * 10^0 + 0 : 默认2的前一个数字为0,也就是没有任何值

    22 = 2 * 10^1 + 2 : 22的前一个数字为2

    222 = 2*10^2 + 22 :222的前一个数字为22

    以此类推...

    所以,在每次循环的时候,需要保存下,上一次结果的值,方便下一次计算

    还需要使用到C库当中使用的pow函数,来计算某个数的n次方,我们在该题目当中使用的是10的n次方,n随着循环的次数,以此递增。

    代码示例:

    #include <stdio.h>
    #include <math.h>
    
    int main()
    {
    	//n为a的个数
    	int n;
    	double a, prev_sum = 0.0, total_sum = 0.0;
    	printf("请输入a的值以及n的值: ");
    	scanf("%lf %d", &a, &n);
    	//循环n次求总和
    	for (int i = 0; i < n; i++)
    	{
    		prev_sum += a * pow(10, i); 
    		total_sum += prev_sum;
    	}
    	printf("总和为:%lf
    ", total_sum);
    	return 0;
    }
    

    运行截图:

    求Sn=a+aa+aaa+...+aa+⋯+a��������������n个a 之值,其中a是一个数字,n表示a的位数,n由键盘输入。例如: 2+22+222+2222+22222 (此时n=5)

  • 相关阅读:
    蓝桥杯 勾股数 暴力
    蓝桥杯 连接乘积 暴力
    蓝桥杯 师座操作系统 map
    蓝桥杯 洗牌 vector
    蓝桥杯 盾神与砝码称重 dfs 剪枝
    蓝桥杯 盾神与积木游戏 贪心
    RESTful风格API
    APIview使用
    linux常用命令
    python中的三种路径
  • 原文地址:https://www.cnblogs.com/weiyidedaan/p/13631092.html
Copyright © 2011-2022 走看看