1. 程式人生 > >習題6-2 使用函式求特殊a串數列和

習題6-2 使用函式求特殊a串數列和

給定兩個均不超過9的正整數a和n,要求編寫函式求a+aa+aaa++⋯+aa⋯a(n個a)之和。

函式介面定義:

int fn( int a, int n );
int SumA( int a, int n );

其中函式fn須返回的是na組成的數字;SumA返回要求的和。

裁判測試程式樣例:

#include <stdio.h>

int fn( int a, int n );
int SumA( int a, int n );
	
int main()
{
    int a, n;

    scanf("%d %d", &a, &n);
    printf("fn(%d, %d) = %d\n", a, n, fn(a,n));		
    printf("s = %d\n", SumA(a,n));	
	
    return 0;
}

/* 你的程式碼將被嵌在這裡 */

輸入樣例:

2 3

輸出樣例:

fn(2, 3) = 222
s = 246

程式碼:

int fn( int a, int n ) {
	int i, ret = a, k = 10;
	 
	for ( i=1; i<n; i++ ) {
		ret += a * k;
		k *= 10;
	}
	
	return ret;
}

int SumA( int a, int n ) {
	int i, sum = 0; 
	
	for ( i=1; i<=n; i++ ) {
		sum += fn( a, i );
	}
	
	return sum;
}