24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1527  |  回复: 13
本帖产生 2 个 程序强帖 ,点击这里进行查看

wangww2011

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎讨论 2011-06-07 22:47:08
ben_ladeng: 2011-08-02 08:08:08
引用回帖:
Originally posted by huycwork at 2011-06-06 22:15:10:
单行程序可是perl的拿手戏
CODE:
perl -e '$s+=++$b*$_ foreach(map{$a=0;$a+=$_ foreach(map{ord($_)-64}(/(.)/g));$a}sort eval<>);print $s,\"\n\";' names.txt

不过我很 ...

还是Perl更灵活,更适合处理字符串。
有map的时候sum就显得多余了,呵呵
11楼2011-06-07 09:47:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinghuoly

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+2): 感谢参与 2011-06-27 03:02:22
jjdg(程序强帖+1): 辛苦了 2011-06-27 03:02:39
scheme解法一:

[define [ans22]
  [define l [read-line [open-input-file "22.txt"]]]                ;读取文件
  
  [define namelist
    [with-input-from-string
     [regexp-replace* "," l " "]                ;替换逗号为空格
     [lambda [] [let loop [[l '[]] [r [read]]]
                  [if [eof-object? r] l
                      [loop [cons r l][read]]]]]]]                ;读取为列表
  
  [define [conv str]                ;将字符串转化为数值和
    [apply +
           [map [lambda [c]
                  [- [char->integer c]
                     64]]
                [string->list str]]]]
  
  [define [ex ls sum n ]
    [if [null? ls]
        sum
        [ex [cdr ls]
            [+ sum
               [* n
                  [conv [car ls]]]]
            [add1 n]]]]
  
  [ex [sort namelist string
        > [time [ans22]]
        cpu time: 1531 real time: 1531 gc time: 188
        871198282

scheme解法二:
[define names-list  '[
                      "MARY"
                      "PATRICIA"
                      "LINDA"
                      "BARBARA"
    .......
                      "ALONSO" ]]

[define [conv str]
  [apply +
         [map [lambda [c]
              [- [char->integer c]
                 64]]
              [string->list str]]]]

[define [ex ls sum n ]
      [if [null? ls]
      sum
      [ex [cdr ls]
          [+ sum
             [* n
                [conv [car ls]]]]
          [add1 n]]]]

[ex [sort names-list string
;define the data in source code will be faster.

        > [time [ans22]]
        cpu time: 47 real time: 47 gc time: 0
        871198282
天地为帐,日月为灯,风雷为号角,云虹为旗令,山川为阵图,草木为兵卒。运阴阳五行为谋,策古今兴替为略。
12楼2011-06-26 01:42:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bobo1986

铜虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖
你好啊?为什么name.txt文件下载不下来?
13楼2011-06-28 10:34:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

引用回帖:
Originally posted by bobo1986 at 2011-06-28 10:34:18:
你好啊?为什么name.txt文件下载不下来?

http://projecteuler.net/project/names.txt

请使用上面这个链接下载
14楼2011-06-28 16:30:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 holmescn 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见