1.五隻猴子分桃。半夜,第一只猴子先起來,它把桃分成了相等的五堆,多出乙隻。於是,它吃掉了乙個,拿走了一堆; 第二隻猴子起來一看,只有四堆桃。於是把四堆合在一起,分成相等的五堆,又多出乙個。於是,它也吃掉了乙個,拿走了一堆;.....其他幾隻猴子也都是 這樣分的。問:這堆桃至少有多少個?(朋友說,這是小學奧數題)。
參***:先給這堆桃子加上4個,設此時共有x個桃子,最後剩下a個桃子.這樣:
第一只猴子分完後還剩:(1-1/5)x=(4/5)x;
第二隻猴子分完後還剩:(1-1/5)2x;
第三隻猴子分完後還剩:(1-1/5)3x;
第四只猴子分完後還剩:(1-1/5)4x;
第五只猴子分完後還剩:(1-1/5)5x=(1024/3125)x;
得:a=(1024/3125)x;
要使a為整數,x最小取3125.
減去加上的4個,所以,這堆桃子最少有3121個。
2.有a到j十個人手拉手構成乙個環,其中a和b不相鄰,問一共有多少種排列方式?
解:基本的環排列演算法。公式:n!/n(n 即為參與排列的人)
就本題而言,首先十個人環排列10!/10 ,然後將ab當成乙個人進行環排列9!*2!/9
排除ab相鄰的即為答案:10!/10 -9!*2!/9
3.給定字串,可以通過插入字元,使其變成回文,求最少插入字元的數量。例如:ab最少插入1個字元,變為bab;aa最少插入0個字元;abcd最少插入3個字元,dcbabcd。
分析:首尾指標法——設兩個指標pbegin和pend分別指向字串的首尾,比較首尾指標指向的值,這時會有種情況:
1)*pbegin==*pend 則二者均向中間移動,即pbegin++;pend--;
2)*pbegin!=*pend,則有兩種處理方法:一、在pend後插入和*pbegin相等的字元,然後pbegin++繼續比較,統計剩餘字元插入數量;二、在pbegin錢插入和*pend相等的字元,然後pend--繼續比較,統計剩餘字元插入數量。最少插入字元的數量即為一和二兩種情況的最小者。
重複上面的過程,直到pbegin和pend相遇。
#include#includeint minchange(char *str,char *pbegin,char *pend)
else if (*str=='\0'||pbegin>=pend)
else
else }}
int main()
5.題目:輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入」they are students.」和」aeiou」,則刪除之後的第乙個字串變成」thy r stdnts.」。
#include #include #include void delete_ch(char *src,char *del_chs)
while(*pend)
*pstrat='\0';
}int main(int argc, char const *argv)
6 插入排序一段**
#include#include#includevoid insertsort(int array,int n) // 實現排序的函式
}int main() // 主函式
{ int array[100];
int i=0,n;
srand ( (unsigned)time (null) );
printf("請你輸入要排序的個數: ");
scanf("%d",&n);
printf("隨機產生%d個數: ",n);
for(i=0;i
隨便總結一下
資訊和人是主體也是核心。兩者需要進行測算。資訊是由頭,體,鍵,三部分構成。所謂頭,是題目,簡介,id,等,也就是乙個代表或者叫名,總之就是這樣類似的乙個東西。我不能把這種東西說的真正明白,因為其完全是代表性的,而代表性的不是自身,所以不能明確。體,是資訊的核心內容。這個不需要過多解釋。乙個人,不如說...
隨便寫一寫
簡單的來說,就是公私合營的一種模式。針對大型的公共設施建設,這種模式有著很大的優點。天子山鎮因其坐落於著名的天子山腳下而得名,鎮區內分布著奇特的石英砂巖峰林地貌 茂密的原始森林和清澈的溪流,自然村落形成的田園風光獨具特色,當地流傳的向王天子傳說 土家山寨和集鎮上臨街而建的吊腳樓 青石板人行街道 古香...
隨便寫寫,怕自己忘了(一)
遇到file 或者home 之類的出現在 裡,看看原始碼,有可能在原始碼裡會有展示,這個時候可能有xss 當然了,任意 的跳轉也是有的,這個看運氣,愛笑的人說不定,http不行https就成功訪問了?其實我覺得如果能訪問內網,那就更好玩了,畢竟這是ssrf的時代 手動滑稽臉 然後嘛,今天碰巧看到,j...