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...