1.寫乙個函式,它的原形是int continumax(char *outputstr,char *intputstr)
功能:在字串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中乙個函式引數outputstr所指記憶體。例如:"abcd12345ed125ss123456789"的首位址傳給intputstr後,函式將返回
9,outputstr所指的值為123456789。
#
include
#include
#include
<
string
.h>
int findmax_numstr(
char
*outputstr,
char
*inputstr)
else
in++;if
(maxlen <
count)}
for(i =0;i*out =
'\0'
;return maxlen;
}void main(
void);
int maxlen;
maxlen = findmax_numstr(output,input)
;printf
("the str %s\n"
,output)
;printf
("the maxlen is %d\n"
,maxlen);}
2.求1000!的未尾有幾個0;
求出1->1000裡,能被5整除的數的個數n1,能被25整除的數的個數n2,能被125整除的數的個數n3,能被625整除的數的個數n4.1000!末尾的零的個數=n1+n2+n3+n4;
只要是末尾是5的數它乘以乙個偶數就會出現乙個0,而末尾是0的數乘以任何數也都會出現0
而末尾是0的如果是乙個0肯定能被5整除,兩個0肯定能被25整數,以此類推3個0就能被5的三次方整除,也就是125
1000!就是1-1000數的相乘,能被5整除的所有數分別乘以乙個偶數就會出現這些個的0,而例如100,既能被5整除,也能被25整除,所以就是兩個0
1000,既能被5,25,也能被125整除,所以算三個0
例如是10!=1*2*3*4*5*6*7*8*9*10,裡面有兩個數能被5整除,就是10和5,而
5隨便乘以乙個偶數就出現乙個0,而10乘以其它數也會出現乙個0,所以10!會有兩個0
#
include
#define num 1000
int find5(
int num)
return ret;
}int main(
void
)
3。編寫乙個 c 函式,該函式在乙個字串中找到可能的最長的子字串,且該字串是由同一字元組成的。
char
*search
(char
*cpsource,
char ch)
++cpsource;
}return cpdest;
}
面試演算法題
前幾天,一好友去筆試,有一題 現在有1000個蘋果,和10個箱子,如何把這1000個蘋果裝在這10個箱子裡,才能使不管任何數量 1 1000 的蘋果,都能一次給出?當時,我們都想,出題這人。今天,在想移位的時候,突然想到了,這絕對是二進位制數的變種。分析 1000個蘋果,最接近1024,轉化為2進製...
面試演算法題
1 直方圖矩形最大值 class solution s.push i return res 2 第n個醜數 class solution return res.back 3 lru cache 最近最少使用頁面置換快取器 class lrucache int get int key void set...
C 面試演算法題C 實現
題目一 陣列中查詢 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution else else return false return false class ...