⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 我做的一些C语言练习题,里面一共有76道题目,主要用到一些计算机常用的算法,如:递归,分治,动态规划,回溯法,AO算法等,除此之外还用到比较多的数学知识,我做了一部分,还有一些暂时还没做出来,大家也帮
💻 CPP
字号:
/**********************************************************************************

  67. ( NOI'94.1_3 ) 一个实数数列共有N项,已知a(i)=(a(i-1)-a(i+1))/2+d,
(1〈i〈N)(N<60) , 键盘输入N,d,a(1),a(n),m,输出 a(m)。

  分析:
  令b(i) = a(i)-d,则b(i) = (b(i-1) - b(i+1))/2
  b(n) = c1*r1^n + c2*r2^n
  r1 = 0.414 , r2 = -2.414
  *********************************************************************************/

#include <stdio.h>
#include <math.h>

#define r1 0.41423562373
#define r2 -2.41423562373
#define RC_EXP(a,b,c,d) (a*d - b*c)

void main()
{
	int m,n;
	float d,a1,an;
	float r1_n,r2_n;
	float c1,c2;
	float b1,bn;
	float bm,am;

	printf("输入n,d,a(1),a(n),m:\n");
	scanf("%d %f %f %f %d",&n,&d,&a1,&an,&m);

	b1 = a1 - d;
	bn = an - d;
	r1_n = (float)pow(r1,n);
	r2_n = (float)pow(r2,n);
	c1 = (float)-(RC_EXP(r2,b1,r2_n,bn)/RC_EXP(r1,r2,r1_n,r2_n));
	c2 = (float)(RC_EXP(r1,b1,r1_n,bn)/RC_EXP(r1,r2,r1_n,r2_n));
	bm = (float)(c1*pow(r1,m) + c2*pow(r2,m));
	am = bm + d;
	printf("a(m) = %8f \n",am);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -