編程數列
Ⅰ c語言,編程實現,求斐波那契數列,1,1,2,3,5,8,......的前20項及前20項和
C語言源程序如下:
#include<stdio.h>
int main()
{
int array[100]={1,1};//斐波那契數列前兩個元素均為0
int i=0;//循環變數
int n=20;//數列需要求的個數
int sum = 0;//和變數
for(i=2;i<n+1;i++)//按遞推原理依次求出後續元素
{
array[i]=array[i-1]+array[i-2];//數列原理
}
printf("arr[1]-arr[%d] = ", n);//提示輸出數列元素
for (i = 0; i < n; i++)//遍歷數列
{
printf("%d ",array[i]);//輸出arr[1]-arr[n]元素內容
sum += array[i];//順便進行求和
}
printf("
%d ", sum);//輸出求和結果
return 0;
}
程序運行結果如下:
(1)編程數列擴展閱讀:
利用遞歸原理進行求斐波那契數列的求解和求前n項和:
#include<stdio.h>
int fibonacci(int n) //遞歸函數
{
if (n == 0 || n == 1)
return 1;
if (n > 1)
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main()
{
int i = 0;
for (i = 0; i < 30; i++)
{
printf("fibonacci(%d) = %d
", i, fibonacci(i));
}
return 0;
}
Ⅱ C語言編程 設有一數列, 包含10個數, 已按升序排好。,16,18,20 ,
已驗證
int main()
{
int a[10], i, j, t;
printf("輸入數組元素:\n");
for(i=0; i<10; i++)
scanf("%d", &a[i]);
for(i=1; i<10; i++)
{
for(j=0; j<10-i; j++)
{
if(a[j]>a[j+1])
{
t=a[j]; a[j]=a[j+1]; a[j+1]=t;
}
}
}
for(i=1; i<6; i++)
{
for(j=3; j<8-i; j++)
{
if(a[j]<a[j+1])
{
t=a[j]; a[j]=a[j+1]; a[j+1]=t;
}
}
}
printf("輸出排序後的數組元素:\n");
for(i=0; i<10; i++)
printf("%d\t", a[i]);
return 0;
}
Ⅲ 斐波那契數列的編程
//fib
#include<stdio.h>
int Fib(int n)
{
if(n==1) return 1;
if(n==0) return 1;
return Fib(n-1)+Fib(n-2);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",Fib(n));
}
Ⅳ java編程:數列問題
public class mainclass {
static class Test {
//需要求和的索引
int sumID = 45;
//需要求值的索引
int valueID = 42;
//需要計算的次數
int needC = 0;
public Test(int sumIndex, int valueIndex) {
sumID = sumIndex;
valueID = valueIndex;
if (sumIndex > valueIndex) {
needC = sumIndex;
} else {
needC = valueIndex;
}
}
long v1 = 0;
long v2 = 1;
long v3 = 1;
long Sum = 0;
long Value = 0;
private void fun() {
if (needC < 3) {
long[] values = {v1, v2, v3};
for (int i = 0; i < needC; i++) {
if (i <= sumID) {
Sum += values[i];
}
if (i == valueID) {
Value = values[i];
}
}
} else {
for (int m = 3; m <= needC; m++) {
long v = v1 + v2 + v3;
System.out.println("第" + String.valueOf(m) + "項值為:" + String.valueOf(v));
v1 = v2;
v2 = v3;
v3 = v;
if (m == valueID) {
Value = v;
}
if (m <= sumID) {
Sum += v;
}
}
}
}
public void output() {
fun();
System.out.println("前" + String.valueOf(sumID) + "和為:" + String.valueOf(Sum) + ",第"
+ String.valueOf(valueID) + "項值為:" + String.valueOf(Value));
}
}
public static void main(String[] args) {
Test tt = new Test(45, 42);
tt.output();
}
}
這種題目千萬不要用遞歸函數解答,這樣就完了,考察的是規律不是機械!!!
Ⅳ 如何用編程求數列問題
public class Fibonacci {
public static void main(String args[]){
int n,fn;//n為第n項,fn為第n項的值
java.util.Scanner s = new Scanner(System.in);
n=s.nextInt();
fn=function(n);
System.out.println("斐波那契數列第"+n+"項為:"+fn);
}
public static int function(int n){
if(n==1 || n==2) return 1;
return function(n-1)+function(n-2);
}
}
希望能幫到你,其實和c語言是一樣一樣的。。
Ⅵ C語言編程求數列2/1 3/2 5/3 8/5 13/8.......前20項的和
#include
<math.h>
#include
<stido.h>
main()
{
float
a=2,b=1,i=1,sum=0;/*由於計算出來的是小數,所以總和應該定義成浮點數*/
for(a=2;i<=20;i++)
{
sum=sum+a/b;
a=a+b;
b=a-b;
}
printf
("sum=%f\n",sum);
}
記得在一本書上看到過這個題目,可是忘記怎麼寫的了,臨時想的,起碼是動了腦筋的。
LZ看的上就+我為最佳吧。
Ⅶ C語言數列編程(TC)
#include <stdio.h>
#define N 40
/*方法一*/
void main( )
{
long i, s, a, b, c;
for(a = 0, b = 1, s = 1, i = 1; i < N; i++)
{
c = (a + b) % 10000;
s += c;
a = b;
b = c;
}
printf("%ld\n", s);
}
/*方法二*/
void main( ) {
long i, a[N], s;
for(a[0] = a[1] = 1, i = 2; i < N; i++)
a[i] = (a[i - 2] + a[i - 1]) % 10000;
for(s = i = 0; i < N; i++)
s += a[i];
printf("%ld\n", s);
}
Ⅷ 用C語言編程 斐波那契數列:1,1,2,3,5,8,13…,輸出前13項,每行輸出5個數。
1、首先打開C語言軟體,在主函數main中,聲明定義一個長度為20個元素的數組,並且給第0個第1個元素賦值為1。
Ⅸ C語言編程:數列 1,1,2,3,5,8…有f(n)=f(n-1)+f(n-2),f(1)=1,f(2)=1,求f(40)。用最簡單的循環語句如for
#include <stdio.h>
int main()
{
int f1=1,f2=1,f=0,i=1;
for(i=1;i<=40-2;i++)
{
f=f1+f2;
f1=f2;
f2=f;
}
printf("f(%d)=%d",i+1,f);
return 0;
}
Ⅹ c語言編寫程序求數列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7的第四十項
c語言編寫程序求數列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7的第四十項:
解答如下:
main(){ int i,n; i=1; n=40; while (n>=0){ n=n-i; i=i+2; } printf("%d",i);}
上面程序輸出的i值就是第n項的z值。
(10)編程數列擴展閱讀:
C語言做為一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。
當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。