TA的每日心情 | 开心 2014-6-18 08:29 |
---|
签到天数: 14 天 [LV.3]偶尔看看II
滴水大师
 
- 积分
- 2345
|
题目
解决代码及点评
- <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code">/*
- 功能:25. Bessel函数Jn(X)有以下的递推关系:
-
-
- J[n+1](x)=(2n+1)/x*J[n](x)-J[n-1](x)
- 并且已知:J[0](x)=sinx/x
- J[1](x)=sinx/x^2-cosx/x
- 编写程序,利用递推关系,由任意的n和x≠0求Jn(X)。
- 注:本程序不允许使用数组。
-
-
- 时间:16:00 2013/10/24
- */
-
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
-
- double Bessel(int n, double x); //Bessel函数原型
-
- void main()
- {
- int n;
- scanf_s("%d", &n);
- double x;
- scanf_s("%lf", &x);
- double result = 0;
- if (x != 0) //判断x是否为零,x=0函数趋于无穷,x!=0则进行计算函数
- {
- result = Bessel(n, x);
- printf("J[n](x) = %f\n",result);
- }
- else
- {
- printf("The function of bessel's is went to ∞ !");
- }
- system("pause");
- }
-
- double Bessel(int n, double x)
- {
- if (n == 1) //结束条件1
- {
- return sin(x) / x;
- }
- else if (n == 2) //结束条件2
- {
- return sin(x) / (x*x) - cos(x)/x;
- }
- else
- {
- return (2 * n + 1) / x * Bessel(n - 1, x) - Bessel(n - 2, x); //递归条件
- }
- }</pre><br></pre><br></pre></pre></pre>
|
|