//
//ViewController.m
//CocoTest_1
//
//Created by S u p e r m a n on 2017/3/14.
//Copyright © 2017年张浩. All rights reserved.
//
#import"ViewController.h"
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
printf("sum = %d",numOfSum(4,5));
}
/**
*
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
共有5个数相加),几个数相加有键盘控制。
f(n) = f(n-1) + aa...a(说明这里有n个a);
*/
intnumOfSum(intn,intnum){
if(n ==1) {
returnnum;
}else{
returnnumOfSum(n-1,num) + n_mum(n,num);
}
}
intn_mum(intn,intnum) {
intsum =0;
while(n>0) {
sum = sum*10+num;
n--;
}
returnsum;
}
/**
*
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
共有5个数相加),几个数相加有键盘控制。
f(n) = f(n-1) + aa...a(说明这里有n个a);
f(4,2) = f(3,2) + 2222 = f(3,2) + (f(3,2)- f(2,2))*10 + 2;
f(n,k) = f(n-1,k) + (f(n-1,k)-f(n-2,k))*10 + k
*/
// n: n个数字k:1~9的数
inttest2(intn,intk) {
if(n ==0) {
return0;
}
if(n ==1) {
returnk;
}
returntest2(n-1, k) + (test2(n-1, k)-test2(n-2, k))*10+ k;
}
@end
网友评论