计算数组{1,1,2,3,5,8.......} 第30位值

static void Main(string[] args)
{
// 首先碰到的是这样的一首题目:计算数组{1,1,2,3,5,8.......} 第30位值,不用递归,我写出了以下这样的代码:

int[] num=new int[30];

num[0]=1;

num[1]=1;

int first=num[0];

int second=num[1];

for (int i = 2; i < num.Length; i++)

{

num[i] = first + second;

first = second;

second = num[i];

}

Console.WriteLine(num[29]);

Console.WriteLine( Process1(30));

Console.ReadLine();
}
public static int Process1(int i)
{

//计算数组{1,1,2,3,5,8.......} 第30位值
if (i == 0) return 0;
if (i == 1) return 1;
else
return Process1(i - 1) + Process1(i - 2);
}

时间: 2024-09-30 11:24:14

计算数组{1,1,2,3,5,8.......} 第30位值的相关文章

POJ C++程序设计 编程题#5 计算数组的低3位之和

编程题#5:计算数组的低3位之和 来源: 北京大学在线程序评测系统POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 总时间限制: 1000ms 内存限制: 1024kB 描述 输入一个正整数构成的数组a[0], a[1], a[2], ... , a[n-1], 计算它们的二进制低3位之和. #include <iostream> #include <vector> #include <algorithm> using nam

计算数组中的逆序数(inversion)个数

今天继续学了算法,首先是一个计算数组中的逆序数的算法. 通常,很容易想到的计算办法就是运用两个for循环遍历比较整个数组,当某个数字的下标较大,而值却小于小标比它小的某个位置上的值时,逆序数+1,但是此种算法复杂度较高,随着输入数据规模的增大效率会快速下降(即输入的数组变大了),具体的复杂度计算方法如下:设数组有n个元素,则需要遍历n次,而每一次遍历中要与下标在后面的进行比较,在当次遍历中,其后具有(n-当次遍历的元素的下标)个元素,那么就需要进行n^2/2次操作(后面的元素不需要再与前面的比较

【算法32】计算数组中的逆序对

问题描述 设 A[1...n] 是一个数组,如果对于 i < j 有 A[i] > A[j], 则 A[i] 和 A[j] 构成一对逆序.给定一个数组,计算数组中逆序对的个数.例如数组 a[] = {1, 4, 3, 2}, 则 {4, 3} {4, 2} {3, 2}是逆序对,返回 3. 解法一:暴力求解 两个 for 循环枚举所有的数对,如果是逆序对,则 count++,最终返回 count 即可.时间复杂度 O(n^2),代码如下: 1 #include <iostream>

php计算数组相同值出现次数的代码(array_count_values)

php计算数组相同值出现次数,可以使用php自带函数array_count_values : 说明 array array_count_values ( array $input )array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值. array_count_values() 例子 代码如下: <?php $array = array(1, "hello", 1, "world&q

李洪强iOS开发之计算数组的最大最小值

// //  ViewController.m //  A21 - 李洪强 - 输出参数 // //  Created by vic fan on 16/7/3. //  Copyright © 2016年 李洪强. All rights reserved. // //      计算数组的最大最小值 #import "ViewController.h" @interface ViewController () @end @implementation ViewController -

JAVA 数组实例-求学生平均成绩,与计算数组的长度

实例: 知识点:数组名.length是计算数组的长度 import java.util.*; //求学生平均分成绩 public class Test{ public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("======求学生平均成绩======"); System.out.println("请输入有多少个学生:"); int

调用方法计算数组的和,最大值,最小值

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication7 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //调用方法计算数组的和,最大值,最小值 1

你必须知道的指针基础-4.sizeof计算数组长度与strcpy的安全性问题

一.使用sizeof计算数组长度 1.1 sizeof的基本使用 如果在作用域内,变量以数组形式声明,则可以使用sizeof求数组大小,下面一段代码展示了如何使用sizeof: int nums[] = {11,22,33,44,55,66}; int i; // sizeof(nums) 计算nums数组的总字节数 // sizeof(int) 计算int类型所占用的字节数 int length = sizeof(nums)/sizeof(int); for(i=0;i<length;i++)

计算数组最大值

d3.max = function(array, f) { var i = -1, n = array.length, a, b; if (arguments.length === 1) { //取数组中第一个非undefined数值 while (++i < n && !((a = array[i]) != null && a <= a)) a = undefined; while (++i < n) if ((b = array[i]) != null