<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            RealTek筆試經驗

            時間:2020-11-22 15:07:54 筆試經驗 我要投稿

            RealTek筆試經驗

              寫一個函數計算當參數為n(n很大)時的值 1-2+3-4+5-6+7……+n ;

            RealTek筆試經驗

              long fn(long n) {

              if(n<=0)

              {

              printf(“error: n must > 0);

              exit(1);

              }

              if(0==n%2)

              return (n/2)*(-1);

              else

              return (n/2)*(-1)+n; } //******************************************************** 要求我用一種技巧性的編程方法來用一個函數實現兩個函數的功能n為如: fn1(n)=n/2!+n/3!+n/4!+n/5!+n/6! fn2(n)=n/5!+n/6!+n/7!+n/8!+n/9!

              現在用一個函數fn(int n,int flag)實現,當flag為0時,實現fn1功能,如果flag為1時實現fn2功能!他的要求還是效率,效率,效率!說實在話,如果我心情好的話我應該能給出一種比較好的算法,但我那時真的沒有什么心思再想了,我在紙上胡亂畫了一些諸如6!=6*5!的公式后直截了當的'跟他說要他給出他的答案!面試官也沒有說什么,給出了他的思路:

              定義一個二維數組 float t[2][5]存入[2!,3!,4!,5!,6!},{5!,6!,7!,8!,9!]然后給出一個循環:

              for(i=0;i<6;i++) {

              temp=temp+n/t[flag];

              }

              最后得到計算值!呵呵,典型的空間換時間的算法!

            【RealTek筆試經驗】相關文章:

            筆試經驗:筆試內容準備09-02

            故宮筆試經驗05-07

            長虹筆試經驗12-19

            銀監會筆試經驗12-18

            招商筆試經驗12-18

            微軟筆試經驗12-07

            求職筆試經驗12-07

            蘇寧筆試經驗筆試寫作08-31

            安永筆試經驗及筆試細節08-31

            中興筆試面試經驗08-23

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看