-
經(jīng)典c程序100例==1--10 【程序1】 題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少? 1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。 2.程序源代碼: main() { int i,j,k printf("\n") for(i=1 i<5 i++) ?。?以下為三重循環(huán)*/ for(j=1 j<5 j++) for (k=1 k<5 k++) { if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k) }
標(biāo)簽:
100
程序
10
數(shù)字
上傳時(shí)間:
2014-01-07
上傳用戶:lizhizheng88
-
求解網(wǎng)絡(luò)中的最短路徑。假設(shè)某個(gè)計(jì)算機(jī)網(wǎng)絡(luò)有n個(gè)站點(diǎn),依次編號(hào)為1,2,…,n;有的站點(diǎn)之間有直接的線路連接(即這兩個(gè)站點(diǎn)之間沒有其它站點(diǎn)),有的站點(diǎn)之間沒有直接的線路連接。如果用三元組(i,j,f)來表示該網(wǎng)絡(luò)中的站點(diǎn)I和站點(diǎn)j之間有直接的線路連接且它們之間的距離為f 當(dāng)已知該網(wǎng)絡(luò)各站點(diǎn)之間的直接連接情況由m個(gè)三元組(i1,j1,f1),(i2,j2,f2),…,(im,jm,fm)確定時(shí),要求計(jì)算出對(duì)于網(wǎng)絡(luò)中任意一個(gè)站點(diǎn)g(1≤g≤n)到其余各站點(diǎn)的最短距離。
標(biāo)簽:
網(wǎng)絡(luò)
最短路徑
站點(diǎn)
計(jì)算機(jī)網(wǎng)絡(luò)
上傳時(shí)間:
2013-12-27
上傳用戶:asdkin
-
給定n 個(gè)整數(shù)a ,a , ,an 1 2 組成的序列, a n i | |£ ,1 £ i £ n。如果對(duì)于i £ j ,有
0 = å
=
j
k i
k a ,則稱序列區(qū)間i i j a , a , , a +1 為一個(gè)零和區(qū)間,相應(yīng)的區(qū)間長度為j-i+1。
標(biāo)簽:
61516
an
整數(shù)
序列
上傳時(shí)間:
2015-07-23
上傳用戶:zhangzhenyu
-
給定n 個(gè)整數(shù)a ,a , ,an 1 2 組成的序列, a n i | |£ ,1 £ i £ n。如果對(duì)于i £ j ,有
0 = å
=
j
k i
k a ,則稱序列區(qū)間i i j a , a , , a +1 為一個(gè)零和區(qū)間,相應(yīng)的區(qū)間長度為j-i+1。
標(biāo)簽:
61516
an
整數(shù)
序列
上傳時(shí)間:
2013-12-21
上傳用戶:偷心的海盜
-
TV-tree的c實(shí)現(xiàn)源碼,對(duì)應(yīng)原文章K.-I. Lin, H. V. Jagadish, C. Faloutsos: The TV-Tree: An Index Structure for High-Dimensional Data.
標(biāo)簽:
TV-tree
源碼
上傳時(shí)間:
2014-11-26
上傳用戶:lxm
-
經(jīng)典C語言程序設(shè)計(jì)100例1-10
如【程序1】
題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?
1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去
掉不滿足條件的排列。
2.程序源代碼:
main()
{
int i,j,k
printf("\n")
for(i=1 i<5 i++) ?。?以下為三重循環(huán)*/
for(j=1 j<5 j++)
for (k=1 k<5 k++)
{
if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/
printf("%d,%d,%d\n",i,j,k)
}
}
標(biāo)簽:
100
10
C語言
程序設(shè)計(jì)
上傳時(shí)間:
2013-12-14
上傳用戶:hfmm633
-
動(dòng)態(tài)規(guī)劃的方程大家都知道,就是
f[i,j]=min{f[i-1,j-1],f[i-1,j],f[i,j-1],f[i,j+1]}+a[i,j]
但是很多人會(huì)懷疑這道題的后效性而放棄動(dòng)規(guī)做法。
本來我還想做Dijkstra,后來變了沒二十行pascal就告訴我數(shù)組越界了……(dist:array[1..1000*1001
div 2]...)
無奈之余看了xj_kidb1的題解,剛開始還覺得有問題,后來豁然開朗……
反復(fù)動(dòng)規(guī)。上山容易下山難,我們可以從上往下走,最后輸出f[n][1]。
xj_kidb1的一個(gè)技巧很重要,每次令f[i][0]=f[i][i],f[i][i+1]=f[i][1](xj_kidb1的題解還寫錯(cuò)了)
標(biāo)簽:
動(dòng)態(tài)規(guī)劃
方程
家
上傳時(shí)間:
2014-07-16
上傳用戶:libinxny
-
介紹回歸問題中高斯過程的應(yīng)用,C. E. Rasmussen & C. K. I. Williams, Gaussian Processes for Machine Learning,
標(biāo)簽:
回歸
高斯
過程
上傳時(shí)間:
2017-07-25
上傳用戶:skfreeman
-
實(shí)驗(yàn)源代碼
//Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請(qǐng)輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關(guān)系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關(guān)系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請(qǐng)輸入矩陣的行數(shù) i: "); scanf("%d",&k);
四川大學(xué)實(shí)驗(yàn)報(bào)告 printf("請(qǐng)輸入矩陣的列數(shù) j: "); scanf("%d",&n); warshall(k,n); }
標(biāo)簽:
warshall
離散
實(shí)驗(yàn)
上傳時(shí)間:
2016-06-27
上傳用戶:梁雪文以
-
#include "iostream" using namespace std;
class Matrix
{
private:
double** A; //矩陣A
double *b; //向量b
public:
int size;
Matrix(int );
~Matrix();
friend double* Dooli(Matrix& );
void Input();
void Disp();
};
Matrix::Matrix(int x) {
size=x;
//為向量b分配空間并初始化為0
b=new double [x];
for(int j=0;j<x;j++)
b[j]=0;
//為向量A分配空間并初始化為0
A=new double* [x];
for(int i=0;i<x;i++)
A[i]=new double [x];
for(int m=0;m<x;m++)
for(int n=0;n<x;n++)
A[m][n]=0;
}
Matrix::~Matrix() {
cout<<"正在析構(gòu)中~~~~"<<endl;
delete b;
for(int i=0;i<size;i++)
delete A[i];
delete A;
}
void Matrix::Disp()
{
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
cout<<A[i][j]<<" ";
cout<<endl;
}
}
void Matrix::Input()
{
cout<<"請(qǐng)輸入A:"<<endl;
for(int i=0;i<size;i++)
for(int j=0;j<size;j++){
cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl;
cin>>A[i][j];
}
cout<<"請(qǐng)輸入b:"<<endl;
for(int j=0;j<size;j++){
cout<<"第"<<j+1<<"個(gè):"<<endl;
cin>>b[j];
}
}
double* Dooli(Matrix& A) {
double *Xn=new double [A.size];
Matrix L(A.size),U(A.size);
//分別求得U,L的第一行與第一列
for(int i=0;i<A.size;i++)
U.A[0][i]=A.A[0][i];
for(int j=1;j<A.size;j++)
L.A[j][0]=A.A[j][0]/U.A[0][0];
//分別求得U,L的第r行,第r列
double temp1=0,temp2=0;
for(int r=1;r<A.size;r++){
//U
for(int i=r;i<A.size;i++){
for(int k=0;k<r-1;k++)
temp1=temp1+L.A[r][k]*U.A[k][i];
U.A[r][i]=A.A[r][i]-temp1;
}
//L
for(int i=r+1;i<A.size;i++){
for(int k=0;k<r-1;k++)
temp2=temp2+L.A[i][k]*U.A[k][r];
L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r];
}
}
cout<<"計(jì)算U得:"<<endl;
U.Disp();
cout<<"計(jì)算L的:"<<endl;
L.Disp();
double *Y=new double [A.size];
Y[0]=A.b[0];
for(int i=1;i<A.size;i++ ){
double temp3=0;
for(int k=0;k<i-1;k++)
temp3=temp3+L.A[i][k]*Y[k];
Y[i]=A.b[i]-temp3;
}
Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1];
for(int i=A.size-1;i>=0;i--){
double temp4=0;
for(int k=i+1;k<A.size;k++)
temp4=temp4+U.A[i][k]*Xn[k];
Xn[i]=(Y[i]-temp4)/U.A[i][i];
}
return Xn;
}
int main()
{
Matrix B(4);
B.Input();
double *X;
X=Dooli(B);
cout<<"~~~~解得:"<<endl;
for(int i=0;i<B.size;i++)
cout<<"X["<<i<<"]:"<<X[i]<<" ";
cout<<endl<<"呵呵呵呵呵";
return 0;
}
標(biāo)簽:
道理特分解法
上傳時(shí)間:
2018-05-20
上傳用戶:Aa123456789