<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 5,  comments - 0,  trackbacks - 0

    我的評論

    看到你在Csdn上寫的,看來不止是我覺得擴展01序列是一個不錯的方法!~~
    很慶幸
    我也只是剛剛寫的,遺漏之處和我說一下,謝謝了!
    在我看來這個題目純粹是一個計算的問題,不需要過多的循環的,當然 僅爭對本題,另外解釋一點,我上面的代碼沒有把負數考慮進去,只要稍微改進一下就可以把負數也包括進去,當然這點還需要商榷,我只是一個猜想,因為準備寫代碼的時候已經下班了,不想在公司繼續熬了,所以代碼寫得很粗糙,沒有優化,另外也沒有過多檢查BUG和遺漏的情況,往諒解下!
    什么都不說 粗略寫的java 代碼 大家研究下

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;


    public class Test {

    /**
    * @param args
    */
    public static void main(String[] args)
    {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String numStr =null;
    long num = -1;
    long tempnum = 0;
    long bitvalue = -1;
    int numbit1 = -1;
    int numbit2 = -1;
    int flag = -1;
    int size = 0;
    boolean isrepeater = false;

    try
    {
    numStr = br.readLine();
    num = Long.parseLong(numStr);

    } catch (NumberFormatException e)
    {
    return;
    } catch (IOException e)
    {
    return;
    }
    //只解析自然數
    if(num <= -1)
    return;

    size = (int)Math.log10(num);

    //1. 先將數字+1
    num ++;
    tempnum = num;

    //2. 判斷是否為重復數字
    if(tempnum / Math.pow(10, size) >= 1)
    size ++;

    bitvalue = (long)Math.pow(10, size - 1);

    for(flag = size - 1; flag >= 1; flag --){

    numbit1 = (int)(tempnum / bitvalue);

    tempnum = tempnum % bitvalue;

    bitvalue = (long)Math.pow(10, flag - 1);
    numbit2 = (int)(tempnum / bitvalue);

    if(numbit1 == numbit2){
    isrepeater = true;
    break;
    }
    }
    //2. 如果是重復數
    if(isrepeater){
    flag --;
    num -= tempnum % Math.pow(10, flag);

    //以下三行是由于考慮的遺漏,解決了以99開頭數字(例 9998)的問題
    //按照我以前的算法99123 得到的結果是100010
    num += (long)Math.pow(10, flag);
    if(Math.log10(num) >= size)
    num += (long)Math.pow(10, flag);

    flag -= 2;
    for(; flag >= 0; flag -=2){
    num += (long)Math.pow(10, flag);
    }
    }

    //4.輸出結果
    System.out.println(num);

    }

    }
    額 我想你們理解錯我的意思了

    10^n 我表示的是10的n次方

    不好意思啊
    re: SqlToolBox1.8.0版下載 Zhjiang 2010-05-13 14:39  
    我這里還是不行,也許是環境的問題,說說我的環境吧!
    我的mysql是裝在虛擬機上的,不是本機,有時候能執行但是反映速度相當的慢,好多時候按了很多下執行鍵都不起作用的,不知道是不是因為數據庫不在本機的原因!~
    re: SqlToolBox1.8.0版下載 Zhjiang 2010-05-13 11:17  
    貌似insert 和delete 有時候不起作用,我用的是mysql數據庫,而且有時候能insert 進去但是沒有任何消息說明insert成功了,很迷茫!~
    這個題如果給我做的話我不會從左往右檢查,相反我會從右往左檢查
    1.將數字+1
    2. 從左往右(從高位到低位)判斷是否有重復數字,沒有的話進入4檢查到第一組重復數字進入3
    2. 將兩個重復數字的以前的(包括重復數字取出來)并且+1,將結果*(10^n) + 01序列
    3. 輸出結果
    例 21001224321
    1.加1 = 21001224322
    2. 是重復數字進入3
    3. 2100 *10^7 + 1* 10^7 + 1* 10^5 + 1* 10^3 + 1* 10^1 =
    21010101010
    4. 輸出 21010101010
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久亚洲AV成人无码国产| 亚洲综合精品成人| 91精品国产免费久久久久久青草| 亚洲 暴爽 AV人人爽日日碰| 亚洲国产天堂久久久久久| 香港a毛片免费观看| 亚洲大码熟女在线观看| 人人狠狠综合久久亚洲婷婷| 精品久久洲久久久久护士免费| 亚洲免费一区二区| 亚洲五月综合网色九月色| 国产啪亚洲国产精品无码 | 久久国产精品免费视频| 一本天堂ⅴ无码亚洲道久久 | 欧美日韩亚洲精品| 亚洲综合无码一区二区三区| 免费少妇a级毛片人成网| 国产成人精品免费午夜app | 免费国产a理论片| 亚洲国产精品美女| 亚洲热妇无码AV在线播放| 欧洲精品免费一区二区三区| 久久午夜无码免费| 国产99久久久久久免费看| 亚洲av中文无码乱人伦在线观看| 亚洲Av熟妇高潮30p| 亚洲天堂中文字幕在线| 成人免费男女视频网站慢动作| 国产成人一区二区三区视频免费| 男男黄GAY片免费网站WWW| 精品亚洲成A人无码成A在线观看| 国产精品亚洲片在线| 亚洲精品麻豆av| 国产jizzjizz免费视频| 成人男女网18免费视频| 国产成人精品免费午夜app | 免费看男人j放进女人j免费看| 免费的黄网站男人的天堂| 亚洲依依成人亚洲社区| 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲一区二区三区四区在线观看 |