zoukankan      html  css  js  c++  java
  • 2019/1/11

    数列求和-加强版 (20 分)

    给定某数字A(1A9)以及非负整数N(0N100000),求数列之和S=A+AA+AAA++AAA(N个A)。例如A=1, N=3时,S=1+11+111=123。

    输入格式:

    输入数字A与非负整数N。

    输出格式:

    输出其N项数列之和S的值。

    输入样例:

    1 3
    

    输出样例:

    123

    思路:
    样例的123 = 1 + 11 + 111;
    也就是 1
    + 11
    +111
    --------
    =123
    程序的大致思路就是这样。

    代码;
    #include<stdio.h>
    int main () 
    {
        int A, N, i;
        scanf ("%d %d", &A, &N);
        
        if (N == 0)
        {
            printf("0
    ");
            return 0;
        }
        
        int n[N]; // 用来存放最终结果 
        int j = 0, last = 0;
    	 
        for (i = N; i >= 1; i--) 
        {
            n[j++] = (i * A  + last) % 10;//每次拆个位,然后存放 
            last = (i * A + last) / 10; //如果大于10,除去然后加到前一位  
        }
        if (last > 0) 
        {
            printf("%d", last); // 将最高位输出
        }
        for (j = j-1; j >= 0; j--) 
        {
            printf("%d", n[j]); 
        }
        printf("
    ");
        
        return 0;
    }
    

      



  • 相关阅读:
    Lesson_strange_words6
    Lesson_strange_words3
    Lesson_strange_words4
    Lesson_strange_words1
    Lesson_strange_words2
    关于我们子页面
    关于我们页面
    走进龙门石窟子页面
    3.用户登陆注册
    2.项目初始化
  • 原文地址:https://www.cnblogs.com/zw431387/p/10256834.html
Copyright © 2011-2022 走看看