3674 - 连续和

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入两个整数a和n,a的范围是[0,9],n的范围是[1,8],求数列之和S = a+aa+aaa+...+aaa...a(n个a)。 如a为

2、n为8时输出的是2+22+222+...+22222222的和。

题目输入

包含多组测试数据,每组输入数据占一行,分别a和n,中间用空格隔开。

题目输出

输出数列之和S

输入/输出样例

输入格式

2 4

输出格式

2468

C语言解答

#include<stdio.h>
int main()
{
	long int a,b[10];
	long int sum=0, s=0;
	int n;
	while (scanf("%d %d", &a, &n) != EOF)
	{
		sum = 0;
		for (int i = 1; i <= n; i++)
		{
			b[0] = 0;
			s = 0;
			for (int j = 1; j <= i; j++)
			{
				b[j] = a;
				s=s * 10 ;
				s = s + b[j];
			}
			sum +=s;
		}
		printf("%ld\n", sum);
	}
	return 0;
}

C++解答

#include <stdio.h>
#include <math.h>
using namespace std;
long long he(long long a,long long n)
{
	long long b=a;
	long long j=0;
	for(j=1;j<n;j++)
	{
		b=b+a*pow(10,j);
	}
	return b;
}
int main()
{
	long long a,n,i,sum;
	while(scanf("%lld%lld",&a,&n)!=EOF)
	{
		sum=0;
		for(i=1;i<=n;i++)
		sum+=he(a,i);
		printf("%lld\n",sum);
	}
	return 0;
}

Java解答

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        while(in.hasNext()){
            int a=in.nextInt();
            int n=in.nextInt();
            int sum=0;
            if(n>0){
                sum+=a;
                if(n>1){
                    sum+=a*10+a;
                    if(n>2){
                        sum+=a*100+a*10+a;
                        if(n>3){
                            sum+=a*1000+a*100+a*10+a;
                            if(n>4){
                                sum+=a*10000+a*1000+a*100+a*10+a;
                                if(n>5){
                                    sum+=a*100000+a*10000+a*1000+a*100+a*10+a;
                                    if(n>6){
                                        sum+=a*1000000+a*100000+a*10000+a*1000+a*100+a*10+a;
                                        if(n>7){
                                            sum+=a*10000000+a*1000000+a*100000+a*10000+a*1000+a*100+a*10+a;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            System.out.println(sum);
        }
    }
}