`
jqiushi
  • 浏览: 41341 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

写一个从1到100相加的递归

阅读更多
1、写一个从1到100相加的递归。
2、写一个从1到10相乘的递归。
3、一个4位数,例如:1 2 3 4。分成4个1位数相加
1、答案是:

public class Test{
    public static void main(String[] args){
        System.out.println(Test.sum(100));
}

public static int sum(int i){
   if(i==1){
        return 1;
}else{
       return sum(i-1)+i;
}
}
}


2、答案是:

public class Test1{
   public static void main(String[] args){
       System.out.println(Test1.mul(10));
}
public static int mul(int i){
    if(i==1){
      return 1;
}else{
      return mul(i-1)*i;
}
}
}



3、答案是:

解法一

package org.e101.com;

public class Test16 {
 public static void main(String[] args){
  int sum;
  String s="1234";
  String s1=s.substring(0, 1);
  String s2=s.substring(1, 2);
  String s3=s.substring(2, 3);
  String s4=s.substring(3, 4);
   int ss1=Integer.parseInt(s1);
   int ss2=Integer.parseInt(s2);
   int ss3=Integer.parseInt(s3);
   int ss4=Integer.parseInt(s4);
   sum=ss1+ss2+ss3+ss4;
  System.out.println("****************ss1+ss2+ss3+ss4="+sum);
 }
}


package org.e101.com;

public class Test16 {
 public static void main(String[] args){
  int sum = 0;
  int dg=0;
  String s="1234";
  for(int i=0;i<s.length();i++){
   dg=Integer.parseInt(s.substring(i, i+1));
   sum+=dg;
  }
  System.out.println("****************sum="+sum);
  }
}
分享到:
评论
1 楼 zh_s_z 2011-11-15  
可以借用 ! 

相关推荐

    各位相加(递归求解+数学规律-树根)1

    题目 "各位相加(递归求解+数学规律-树根)1" 是一个关于算法和数学的问题,主要考察的是对数字操作的理解以及对数学规律的掌握。此问题源自著名的在线编程挑战平台 LeetCode,标签为 "leetcode" 和 "数学",意味着...

    递归九宫格 行列相加 相等

    九宫格,又称“幻方”,是一种古老的数学游戏,它要求在一个3x3的网格中填入1到9的数字,使得每一行、每一列以及两条对角线上的数字之和都相等。这个任务结合了递归算法和遍历策略,是编程中的一个经典问题。下面将...

    数据结构:运用递归和非递归算法处理数学问题 两个三元组的相加

    在给定的标题中,`fun1` 函数就是一个递归算法的例子。当 `n=0` 时,`F(n)` 的值为 1;当 `n&gt;0` 时,`F(n)` 等于 `n` 乘以 `F(n DIV 2)`。递归算法的关键在于找到一个基本情况(base case),即可以直接得出结果的...

    数字逆序逐个相加程序,递归算法

    以下是一个简单的Python示例,展示了如何用递归实现逆序相加: ```python def reverse_add(num): # 基础条件:如果num为0,直接返回0 if num == 0: return 0 # 获取num的最后一位,并逆序 last_digit = num % ...

    Java 递归法求5!阶乘相加之和.rar

    Java 采取递归方法求5!的阶乘,递归方法求阶乘之和,输入要阶乘的数字,递归公式:fn=fn_1*4!... //创建一个TestDiGui的实例  System.out.print("输出5!的结果为:");  System.out.println(tdg.add(n));

    递归函数两个例子教程

    总结来说,递归函数是编程中的一个重要概念,尤其在处理分治问题和链式关系时。VB6.0提供了良好的环境来理解和实现递归函数。通过对这两个例子的学习,您可以加深对递归的理解,并将其应用到其他类似的问题中。

    递归与广义表1

    同样,当n等于1时返回第一个元素,否则将当前元素与递归求和(n-1)个元素的结果相加。 - `Average(int n)`:递归计算平均值的方法。当n等于1时,返回第一个元素除以1的浮点结果,即元素本身。对于n大于1的情况,平均...

    递归算法简介

    - **汉诺塔问题**:将不同大小的盘子从一个柱子移动到另一个柱子上的经典问题。 递归算法因其独特的优势而在算法设计中占有重要地位,尤其是在解决具有自然递归结构的问题时表现出色。然而,也需要注意其潜在的缺点...

    js代码-递归循环1-100的和

    对于1到100的整数和,如果我们采用递归方法,可以创建一个名为`sumRecursion`的函数,如下所示: ```javascript function sumRecursion(n) { if (n === 1) { // 基本情况 return 1; } else { // 递归情况 ...

    递归算法事例及理论说明

    2. **递归结束条件**:每个递归过程必须有一个明确的递归出口,即存在一个基本情况,当满足这个条件时,不再进行递归调用,从而终止递归。 3. **规模缩小**:在递归过程中,每次调用都将问题的规模减小,通常通过...

    java详细讲解递归

    通过这种方式,我们可以计算从 1 加到 1/n 的和。 #### 四、递归的应用场景 递归可以应用于多种场景,例如: - **数学问题**:如阶乘、斐波那契数列等。 - **树结构操作**:遍历树结构,查找特定节点等。 - **...

    递归算法算斐波那契数列

    斐波那契数列(Fibonacci sequence)是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, ...。该数列从第三项开始,每一项都等于前两项之和。数学上,斐波那契数列可以这样定义: - F(0) = 0 - F(1) = 1 - F(n) = F(n-1)...

    用递归法计算从n个正整数中选择k个数的不同组合数

    这个步骤表示从n个元素中选择k个,可以分为两种情况:一是先选一个特定的元素,然后从剩下的n-1个元素中选择k-1个;二是不选这个特定的元素,直接从剩下的n-1个元素中选择k个。 递归法的实现需要注意避免重复计算...

    两个数相加

    2. 遍历链表:由于链表是反序的,我们从尾部开始遍历,即从每个链表的最后一个节点开始,逐步向前处理。 3. 求和:对于每个位置,将两个链表对应节点的值相加,加上可能的进位(来自前一个位置的计算结果)。 4. ...

    java代码-Java简单递归求1-100相加求和

    本示例中的“Java简单递归求1-100相加求和”是一个利用递归算法来计算从1到100所有整数之和的问题。递归在解决这类问题时能够简化代码,使其更具可读性。 首先,我们需要理解递归的基本概念。递归通常包括两个部分...

    斐波那契C程序 递归算法

    总的来说,斐波那契序列与递归算法的结合为学习C语言和理解递归提供了一个很好的实践案例。通过深入研究这个程序,你可以学习到如何用C语言编写递归函数,以及如何优化递归以提高程序性能。同时,这也是一个很好的...

    斐波那契非递归 C语言源码 大数加法

    1. **大数表示**:在C语言中,可以使用字符数组(char数组)来表示大数,每个字符代表一个数字位,从低位到高位存储。例如,"12345" 可以表示为 {'5', '4', '3', '2', '1', '\0'},其中'\0'是字符串结束符。 2. **...

    凑数字 凑金额 的最佳递归程序(by_kagawa)

    标题中的“凑数字 凑金额 的最佳递归程序”指的是一个使用递归算法解决特定问题的程序,其目标是在一组给定的数字中找到最佳组合,使得这些数字相加尽可能接近或者等于一个预设的目标金额。这样的问题在实际生活中...

    Java数组排序总结(冒泡_选择_插入_希尔)__递归算法的复杂度

    **选择排序**的工作原理是找到数组中最小的元素,然后将其与第一个元素交换,接着在剩余元素中找最小的,与第二个元素交换,以此类推。选择排序无论数据初始状态如何,时间复杂度始终为O(n^2),不适用于大量数据的...

    数据结构和算法:链表栈递归

    递归是一种编程方法,它允许一个函数调用自身。在链表操作中,递归可以用来处理链表的每个节点,比如在链表相加时,可以使用递归来处理两个链表对应节点的相加,以及进位的处理。 在以上问题中,递归不是必须的,但...

Global site tag (gtag.js) - Google Analytics