美文网首页算法
递归-3 计算多个数字

递归-3 计算多个数字

作者: 路灯下的黑猫H | 来源:发表于2017-03-16 15:31 被阅读0次

//

//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

相关文章

  • 递归-3 计算多个数字

    // //ViewController.m //CocoTest_1 // //Created by S u p ...

  • 2018-07-28

    递归函数以及尾递归优化: #利用递归函数计算阶乘 ... #N! = 1 * 2 * 3 * 4 * ... * ...

  • 递归

    Python 3 : 1、使用递归实现倒计时 2、使用递归实现列表元素相加 3、使用递归计算列表包含的元素数 4、...

  • 递归和死循环

    在计算机里面,递归永远要给出一个结束条件,比如递归的思维计算阶乘,即N!=1 x 2 x 3 x 4 ……x N,...

  • 2018-06-06

    JavaScript中的递归 最简单的一句话介绍递归:函数内部自己调用自己 小递归案例: 计算 1+2+3+......

  • 笨方法学python-习题3-数字计算

    习题3-数字计算 认识python中数字运算符 python数字计算练习 认识python中数字运算符 pytho...

  • 递归并非万能

    递归的确简洁, 但性能很差, 因为它进行了大量重复的计算,如果用递归运算做乘法, 5!*4! = 5*4*3*2*...

  • week02斐波那契数列

    1.用循环打印出斐波那契数列。 2.用递归打印出斐波那契对应的数字。 用循环制作 用递归制作 第一版:重复计算版 ...

  • python之函数的递归(3)-案例(计算数字累加)

    需求 定义一个函数sum_numbers 能够接收一个num的整数参数 计算1+2+3+4+······+num的...

  • Factorial

    使用循环计算阶乘 使用递归计算阶乘

网友评论

    本文标题:递归-3 计算多个数字

    本文链接:https://www.haomeiwen.com/subject/llrjnttx.html