C語言演算法入門練習 演算法競賽入門經典

2021-09-19 06:23:25 字數 3809 閱讀 8194

1.1c語言輸出

#include

intmain()

1.2c計算與輸出基礎

#include

#include

intmain()

1.3a+b

#include

intmain()

1.4圓柱體面積

#include

#include

intmain()

1.5三位數翻轉

//輸入乙個三位數,分離出百位、十位、個位,反轉後輸出。

#include

intmain()

1.6三位數翻轉-2

#include

intmain()

1.7交換變數(賦值法)

#include

intmain()

1.8交換變數(輸出法)

#include

intmain()

1.9雞兔同籠

/*雞a,兔b,n只,m腿;

a+b=n,2a+4b=m,聯立得

a=(4n-m)/2

b=n-a

*/#include

intmain()

2.1迴圈輸出

#include

intmain()

2.2aabb完全平方數

/*形如aabb的四位完全平方數(前兩位數字相等,後兩位數字相等) 

完全平方數:乙個數如果是另乙個整數的完全平方,稱此數為完全平方數

如:0,1,4,9,16等 3*3=9 9為完全平方數*/

#include

#include

intmain()

}

2.3aabb完全平方數-2

/*形如aabb的四位完全平方數(前兩位數字相等,後兩位數字相等) 

完全平方數:乙個數如果是另乙個整數的完全平方,稱此數為完全平方數

如:0,1,4,9,16等 3*3=9 9為完全平方數*/

#include

#include

intmain()

}

2.43n+1問題

/*大於1的自然數n,

若n為奇數,將n變為3n+1

否則變為n/2,變換若干次後最終變為1.

求變換次數n*/

#include

intmain()

printf

("%d\n"

,count)

;return0;

}/*此時存在溢位問題

可改為int n2,count=0;

scanf("%d",&n2);

long long n=n2;

*/

2.5近似計算

/*計算

π/4=1-1/3+1/5-1/7+....

直到最後一項小於10的-6次方

*/#include

intmain()

printf

("%.6f\n"

,sum)

;return0;

}

2.6階乘之和

#include

intmain()

printf

("%d\n"

,s%1000000);

}//累乘器factorial

2.7階乘之和-2

#include

#include

intmain()

printf

("%d\n"

,s);

printf

("time used=%.2f\n",(

double

)clock()

/clocks_per_sec)

;return0;

}

2.8資料統計

#include

#include

intmain()

printf

("%d\n"

,s);

printf

("time used=%.2f\n",(

double

)clock()

/clocks_per_sec)

;return0;

}

3.1逆向輸出

#include

#define maxn 105

int a[maxn]

;//陣列a被宣告再外面時,才可開的很大,若在main內,稍大就會異常退出

intmain()

for(

int i=n-

1;i>=

0;i--

)printf

("%d "

,a[i]);

//用空格隔開資料時要在%d後加空格

/*為何不用

for(int i=n-1;i>=0;i--)

printf("%d\n",a[i]);

因為相鄰兩個資料間要用空格隔開而非換行,所以分兩條語句輸出*/

return0;

}

3.2開關燈問題

/*memset:作用是在一段記憶體塊中填充某個給定的值,它是對較大結構體或陣列進行清零操作的一種最快方法。*/

#include

#include

#define maxn 1010

int a[maxn]

;int

main()

printf

("\n");

return0;

}//first的作用就是使第乙個輸出的序號不帶空格,之後每輸出乙個序號前面加個空格

3.3蛇形填數

/*

n*n方陣填入1-n*n.例n=4時方陣為

10 11 12 1

9 16 13 2

8 15 14 3

7 6 5 4

*/#include

#include

#define maxn 20

int a[maxn]

[maxn]

;int

main()

for(x=

0;x)return0;

}

演算法競賽入門經典 C 入門

include 提供輸入輸出流 include 提供常用演算法 using namespace std const int maxn 100 10 int a maxn int main return0 宣告陣列時,陣列大小可以用const宣告的常數。在c 中,這樣的寫法更加推薦。include i...

演算法競賽入門 洪水

題目意思大概就是,有n m個底面積為10 10的格仔,每個格仔內有各種不同高度的柱子,再有乙個降雨量,來填這些格仔,輸出水面高度,和被淹沒於沒被淹沒的比例。include include include include using namespace std intmain 輸入n m個數,可以看成...

演算法競賽入門 鐵軌

某城市有乙個火車站,鐵軌鋪設如圖所示。有n節車廂從a方向駛入車站,按進站順序編號為1 n。你的任務是讓它們按照某種特定的順序進入b方向的鐵軌並駛出車站。為了重組車廂,你可以借助中轉站c。這是乙個可以停放任意多節車廂的車站,但由於末端封頂,駛入c的車廂必須按照相反的順序駛出c。對於每個車廂,一旦從a移...