上完課過來整理一下筆記5551、窮舉法
1//百錢買百雞問題(簡化後)
23 #include 4 #include 5
6int
main()718
}19}20
return0;
21 }
2、迭代法
1//求解一元三次方程指定範圍的根
2 #include 3 #include 4 #include 5
6double biroot(double,double);7
double foo(double);8
9int
main()
10while(foo(x1)*foo(x2)>0
);16
17 printf("
%.2f\n
",biroot(x1,x2));
18return0;
19}20double biroot(double x1,double
x2)21
30else
3134 }while(fabs(x1-x2)>=1e-7
);35 ret=(x1+x2)/2;36
return
ret;37}
38double foo(double
x)39
3、牛頓迭代(牛頓切線法)
//求解一元三次方程在1.0附近的根
#include
#include
#include
double ntroot(double
);double foo(double
);double dfoo(double
);int
main()
double ntroot(double
x)
while(fabs(x-x0)>=1e-7
);
returnx;}
double foo(double
x)double dfoo(double
x)
4、遞推法(歸納法)
//累加和累乘
#include #include
#include
double getsum(int
);int
main()
double getsum(int
n)
return
s;}
//篩選法求素數
#include
#include
#define max_size 1000
void getprimetab(int *,int
);void initsieve(int*,int
);int getnext(int*,int,int
);int outprimetab(int *,int
);int
main()
; initsieve(sieve,max_size);
scanf("%d
",&n);
getprimetab(sieve,n);
cnt=outprimetab(sieve,n);
printf(
"total primes = %d\n
",cnt);
return0;
}void initsieve(int*ps,intn)}
int outprimetab(int *ps,int
n) printf(
"%8d
",i);}}
printf("\n
");return
count;
}int getnext(int*ps,int p,int
n)
returnq;}
void getprimetab(int *ps,int
n) }
}}
//梯形法求定積分
#include
#include
#include
double integrate(double(*pf)(double),double a,double b,int
n);double my_fun(double
x);int
main()
double integrate(double(*pf)(double),double a,double b,int
n) s=h*s;
returns;}
double my_fun(double
x)
js常用計算方法整理
一 除法取整 math.round x 四捨五入,如math.round 0.60 結果為1 math.round 0.49 結果為0 math.floor x 向下捨入,如math.floor 0.60 與math.floor 0.49 結果均為0 math.ceil x 向上捨入,如math.c...
機器學習中常用的距離計算方法
我們已經知道了如何通過樣本間的距離來評估簇間的距離,本節只剩下最後乙個問題了,如何計算樣本間的距離,假設樣本是n維,常用的距離計算方法有 1 尤拉距離 euclidean distance 2 平方歐式距離 squared euclidean distance 3 曼哈頓距離 manhattan d...
C 常用計算幾何演算法
從網上轉來的幾何演算法,對點線的基本演算法,有興趣的可以學習下。include include include include define max a,b a b a b define min a,b a b b a define sign x x eps?1 x eps?1 0 using na...