递归求n 项和

#include <stdio.h>
int f(int n)
{
if (n==1)     return 1;

else           return f(n-1)+n;

}
int main(void)
{
printf("%d\n",f(100));
}

递归求n 项和,布布扣,bubuko.com

时间: 2024-10-04 13:54:28

递归求n 项和的相关文章

用递归求菲波拉契序列第N项的值

1 #include <stdio.h> 2 /* 3 题目:用递归求菲波拉契序列第N项的值 4 */ 5 int func(int n); 6 7 int main(void) 8 { 9 int N; 10 gogogo: printf("输入要求的项数(例:求第3项的值输入3)\n"); 11 scanf("%d",&N); 12 printf("第%d项的值 = %d\n",N,func(N)); 13 14 goto

POJ 1845 Sumdiv【同余模运算+递归求等比数列和+快速幂运算】

快速幂运算在第一次训练时候就已经遇到过,这里不赘述 同余模运算也很简单,这里也不说了,无非是(a+b)%m (a*b)%m 把m弄到里面变成(a%m+b%m)%m   (a%m*b%m)%m 今天学的最重要的还是递归二分求等比数列 题目大意是给出A和B,求A^B的约数和 解这个题,首先,对A进行素因子分解得到 (PI(pi^ai))^B 然后我们有约数和公式: 对A=PI(p1^k1) A的所有因子之和为S = (1+p1+p1^2+p1^3+...p1^k1) * (1+p2+p2^2+p2^

C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈

递归是一种强有力的技巧,但和其他技巧一样,它也可能被误用. 一般需要递归解决的问题有两个特点: 存在限制条件,当符合这个条件时递归便不再继续: 每次递归调用之后越来越接近这个限制条件. 递归使用最常见的一个例子就是求阶乘,具体描述和代码请看这里:C语言递归和迭代法求阶乘 但是,递归函数调用将涉及一些运行时开销--参数必须压到堆栈中,为局部变量分配内存空间(所有递归均如此,并非特指求阶乘这个例子),寄存器的值必须保存等.当递归函数的每次调用返回时,上述这些操作必须还原,恢复成原来的样子.所以, 基

6-3 递归求Fabonacci数列 (10 分)

6-3 递归求Fabonacci数列 (10 分) 本题要求实现求Fabonacci数列项的函数.Fabonacci数列的定义如下: f(n)=f(n?2)+f(n?1) (n≥2),其中f(0)=0,f(1)=1. 函数接口定义: int f( int n ); 函数f应返回第n个Fabonacci数.题目保证输入输出在长整型范围内.建议用递归实现. 裁判测试程序样例: #include <stdio.h> int f( int n ); int main() { int n; scanf(

249 递归:概念,利用递归求1~n的阶乘,利用递归求斐波那契数列,利用递归遍历数据

6.1什么是递归 递归:如果一个函数在内部可以调用其本身,那么这个函数就是递归函数. 简单理解: 函数内部自己调用自己, 这个函数就是递归函数 注意:递归函数的作用和循环效果一样,由于递归很容易发生"栈溢出"错误(stack overflow),所以必须要加退出条件return. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g

利用递归求阶乘

1 package com.d; 2 3 import java.util.Scanner; 4 5 public class Digui { 6 7 public static void main(String[] args) { 8 Digui d = new Digui(); 9 10 System.out.println("请输入一个整数"); 11 Scanner scan = new Scanner(System.in); 12 int a = scan.nextInt()

递归学习(一)最简单的C语言递归求年龄算法

递归是我们在学习编程中,必须要去学习的,虽然递归晦涩难懂 ,但是很多时候,递归的思想会很有用,但是在实际开发中,不建议使用递归,要用循环来代替递归,不然bug无穷. ----------------------------------------------------------- 问题描述: 有5个人坐在一起, 问第5个人,他说比第4个人大2岁, 问第4个人,他说比第3个人大2岁, 问第3个人,他说比第2个人大2岁, 问第2个人,他说比第1个人大2岁, 问最后一个人,他说10岁 第5个人多大

递归求素数加强版

以前写过一篇关于递归求素数的代码, 今日想起,发现代码还可以优化, 速度和代码长度上稍微优化了一些 /* primes recursive with c older c version at http://winxos.blog.51cto.com/1671107/652371 winxos 2015-9-19 */ #include <stdio.h> int isdiv(int a,int b) { if(b*b>a) return 0; if(a%b==0) return 1; i

蓝桥杯 算法训练 ALGO-151 6-2递归求二进制表示位数

算法训练 6-2递归求二进制表示位数 时间限制:10.0s   内存限制:256.0MB 问题描述 给定一个十进制整数,返回其对应的二进制数的位数.例如,输入十进制数9,其对应的二进制数是1001,因此位数是4. 样例输入 一个满足题目要求的输入范例.9 样例输出 与上面的样例输入对应的输出. 数据规模和约定 输入数据中每一个数的范围. 例:输入在int表示范围内. 题目解析: 在 Java 的 Integer 类的方法中,有将十进制数转换为二进制.八进制和十六进制的三个方法.若参数为正整数,则