杭電OJ第11頁2010 2014演算法題(C語言)

2021-10-13 23:21:56 字數 3752 閱讀 7325

problem description

春天是鮮花的季節,水仙花就是其中最迷人的代表,數學上有個水仙花數,他是這樣定義的:

「水仙花數」是指乙個三位數,它的各位數字的立方和等於其本身,比如:153=1

^3+5

^3+3

^3。現在要求輸出所有在m和n範圍內的水仙花數。

input

輸入資料有多組,每組佔一行,包括兩個整數m和n(100

<=m<=n<=

999)。

output

對於每個測試例項,要求輸出所有在給定範圍內的水仙花數,就是說,輸出的水仙花數必須大於等於

m,並且小於等於n,如果有多個,則要求從小到大排列在一行內輸出,之間用乙個空格隔開;

如果給定的範圍內不存在水仙花數,則輸出no;

每個測試例項的輸出佔一行。

sample input

100120

300380

sample output

no370

371

分析:若輸入的m大於n,則需要將這2個數的值進行交換

#include

void

narcissus()

if(m>n)

for(i=m;i<=n;i++)}

if(!flag)

printf

("no");

printf

("\n");

}}

problem description

多項式的描述如下:1-

1/2+

1/3-

1/4+

1/5-

1/6+

...現在請你求出該多項式的前n項的和。

input

輸入資料由2行組成,首先是乙個正整數m(m<

100),表示測試例項的個數,第二行包含m個正整

數,對於每乙個整數(不妨設為n,n<

1000),求該多項式的前n項的和。

output

對於每個測試例項n,要求輸出多項式前n項的和。每個測試例項的輸出佔一行,結果保留2位小數。

sample input21

2sample output

1.00

0.50

分析:在生產多項式時,記得要強制轉換(1.0/n)

#include

void

polynomial()

else

}scanf

("%d"

,&m)

;while

(m--

)}

problem description

對於表示式n^

2+n+

41,當n在(x,y)範圍內取整數值時(包括x,y)(-39

<=x50),判定該錶

達式的值是否都為素數。

input

輸入資料有多組,每組佔一行,由兩個整數x,y組成,當x=

0,y=

0時,表示輸入結束,該行不做處

理。output

對於每個給定範圍內的取值,如果表示式的值都為素數,則輸出"ok"

,否則請輸出「sorry」,每組輸

出佔一行。

sample input01

00sample output

ok

分析:中間過程要用到使用判斷素數的演算法。有關素數篩的相關問題,可以參考我的這篇文章。

#include

#include

//判斷乙個數是否為素數,若是素數返回1,否則返回0

intisprime

(int n)

else}}

void

judgeprime()

for(i=n;iif(flag)

else

}}

problem description

喜歡西遊記的同學肯定都知道悟空偷吃蟠桃的故事,你們一定都覺得這猴子太鬧騰了,其實你們是有

所不知:悟空是在研究乙個數學問題!

什麼問題?他研究的問題是蟠桃一共有多少個!

不過,到最後,他還是沒能解決這個難題,呵呵^-^

當時的情況是這樣的:

第一天悟空吃掉桃子總數一半多乙個,第二天又將剩下的桃子吃掉一半多乙個,以後每天吃掉前一天

剩下的一半多乙個,到第n天準備吃的時候只剩下乙個桃子。聰明的你,請幫悟空算一下,他第一天開

始吃的時候桃子一共有多少個呢?

input

輸入資料有多組,每組佔一行,包含乙個正整數n(1

30),表示只剩下乙個桃子的時候是在第n

天發生的。

output

對於每組輸入資料,輸出第一天開始吃的時候桃子的總數,每個測試例項佔一行。

sample input24

sample output

422

分析:從題中可以推導出遞迴公式c(n-1)=[c(n)+1]*2,其中c(n)表示第n天剩餘的桃子數。

#include

void

countpeach()

//第n天時只剩1個桃子

i=1;

n--;while

(n--

)printf

("%d\n"

,i);

}}

problem description

青年歌手大獎賽中,評委會給參賽選手打分。選手得分規則為去掉乙個最高分和乙個最低分,然後計

算平均得分,請程式設計輸出某選手的得分。

input

輸入資料有多組,每組佔一行,每行的第乙個數是n(2

100),表示評委的人數,然後是n個評委

的打分。

output

對於每組輸入資料,輸出選手的得分,結果保留2位小數,每組輸出佔一行。

sample input399

9897

4100

9998

97sample output

98.00

98.50

分析:可以通過對陣列排序獲得最高分和最低分,也可以直接遍歷一遍陣列求得最高分和最低分的下標,在計算平均分時跳過這2個下標所指向的陣列元素即可。

#include

#include

void

scoring()

//申請動態陣列使用的記憶體塊

arr=

(double*)

malloc

(sizeof

(double

)*n);if

(arr==

null

)//記錄輸入的n個成績

for(i=

0;i)//找出最高分和最低分的下標

maxindex=minindex=0;

maxnum=minnum=arr[0]

;for

(i=1

;i(arr[i]

} sum=0;

for(i=

0;iprintf

("%.2lf\n"

,sum/

(n-2))

;//釋放申請的記憶體塊

free

(arr);}

}

杭電oj第11頁2015~2019演算法題(c語言)

杭電OJ第11頁2005 2009演算法題(C語言)

problem description 給定乙個日期,輸出這個日期是該年的第幾天。input 輸入資料有多組,每組佔一行,資料格式為yyyy mm dd組成,具體參見sample input 另外,可 以向你確保所有的輸入資料是合法的。output 對於每組輸入資料,輸出一行,表示該日期是該年的第幾...

飯卡 杭電oj

解題思路就是沒有5元的直接輸出 大於5元的要用5元貪心價值最大的 減去5元後的錢要最優即動態規劃中的01揹包 include include include using namespace std int c 1005 1005 int max int a,int b int main m1 m m...

杭電oj 迷瘴

通過懸崖的yifenfei,又面臨著幽谷的考驗 幽谷周圍瘴氣瀰漫,靜的可怕,隱約可見地上堆滿了骷髏。由於此處長年不見天日,導致空氣中布滿了毒素,一旦吸入體內,便會全身潰爛而死。幸好yifenfei早有防備,提前備好了解藥材料 各種濃度的萬能藥水 現在只需按照配置成不同比例的濃度。現已知yifenfe...