c語(yǔ)言用for語(yǔ)句求1到100的積 用c語(yǔ)言算法怎么寫(xiě)1*2*3*4*5的積,謝謝?
用c語(yǔ)言算法怎么寫(xiě)1*2*3*4*5的積,謝謝?寫(xiě)c語(yǔ)言的程序最好養(yǎng)成習(xí)慣,建個(gè)工程,然后建程序。#includc語(yǔ)言編程龍貝格積分算法?這個(gè)程序,我正好在學(xué)計(jì)算方法的時(shí)候?qū)戇^(guò),直接貼代碼C 實(shí)現(xiàn)如下
用c語(yǔ)言算法怎么寫(xiě)1*2*3*4*5的積,謝謝?
寫(xiě)c語(yǔ)言的程序最好養(yǎng)成習(xí)慣,建個(gè)工程,然后建程序。#includ
c語(yǔ)言編程龍貝格積分算法?
這個(gè)程序,我正好在學(xué)計(jì)算方法的時(shí)候?qū)戇^(guò),直接貼代碼
C 實(shí)現(xiàn)如下:
#includeltiostreamgt
#includeltcmathgt
using namespace std
const int MAXRepeat 100 //最大允許重復(fù)
double function(double x)//被積函數(shù),根據(jù)自己的需要手工輸入
{
double s
s 1.0 / (1 x)
return s
}
void Romberg(double a, double b, double epsion, double f(double x))
{
int m 1
int n 1
int k
double h
double ep
double p
double xk
double s
double q
double T[MAXRepeat]
h b - a
T[0] 0.5 * h * (f(a) f(b))
ep epsion 1.0
while ((ep gt epsion) ampamp (m lt MAXRepeat))
{
p 0.0
for (k 0 k lt n k )
{
xk a (k 0.5) * h // n-1
p p f(xk) //計(jì)算∑f(xk h/2),T
} // k0
p (T[0] h * p) / 2.0 //T`m`(h/2),變步長(zhǎng)梯形求積公式
s 1.0
for (k 1 k lt m k )
{
s 4.0 * s //[pow(4,m)T`m`(h/2)-T`m`(h)]/[pow(4,m)-1],2m階牛頓柯斯特公式,即龍貝格公式
q (s * p - T[k - 1]) / (s - 1.0)
T[k-1] p
p q
}
ep fabs(q - T[m - 1])
m
T[m - 1] q
n // 2 4 8 16
h / 2.0
}
for (int i 0 i lt m i )
{
int j
if (!(i % j))
{
coutltltT[i]llt tendl } else { coultlt[I]ltlt