24小时热门版块排行榜    

查看: 1707  |  回复: 13
本帖产生 2 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

holmescn

金虫 (正式写手)

[交流] Euler 工程 第廿二题: 姓的总分 已有5人参与

附件中是一个包含了5前个姓的文件。先把它按字母表排序,然后计算每个姓的值,并乘以这个姓在文件中的序数得到这个姓的分数。
例如,COLIN,它的字母值是:3+15+12+9+14=53,在排序后的列表中,它在第938位,这样COLIN的得分为:53*938=49714
那么这个文件中所有姓的总分是多少?
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★ ★
送鲜花一朵
jjdg(金币+1): 端午节快乐 2011-06-06 03:21:14
jjdg(金币+1): 感谢参与 2011-06-06 03:21:23
都写得太好了,我都不敢写了。
7楼2011-06-05 21:25:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 谢谢交流 2011-06-05 12:17:18
微尘、梦想(金币+4): 2011-06-06 20:19:45
matlab code
CODE:
%% What is the total of all the name scores in the file?
% For example, when the list is sorted into alphabetical order,
% COLIN, which is worth 3 + 15 + 12 + 9 + 14 = 53, is the 938th name in the list.
% So, COLIN would obtain a score of 938 × 53 = 49714.
function result = euler22()
tic;
fid = fopen('D:\euler\names.txt');
names = fgets(fid); % 读取全部内容到字符串
fclose(fid);

names = strrep(names,'"',''); % 删除"
namelist = regexp(names,',','split'); % 用逗号分隔
sname = sort(namelist); % 排序

result = 0;
for i=1:length(sname) % 循环
    curname = lower(sname{i}); % 全小写
    curname = curname-repmat('a',1,length(curname)); % 与全a作差
    cursum = sum(curname+1); % 求和
    result = result+cursum*i; % 乘顺序计算score,累加
end
toc;
end

结果时间
CODE:
% Elapsed time is 0.307340 seconds.
% ans =
%    871198282

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2011-06-05 01:32:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 谢谢交流 2011-06-05 12:17:28
微尘、梦想(金币+4): 2011-06-06 20:19:54
涉及到文本处理的惯例是Perl:
CODE:
#!/usr/bin/perl
open F, "<", "names.txt";
$f = ;
@ns = sort eval ($f);
foreach(@ns){
    local (*v) = \$_;
    $v += ord($_) - ord('A') + 1 foreach(/(.)/g);
}
unshift @ns, 0;
$s += $_ * $ns[$_] foreach(1..@ns);
print $s;

[ Last edited by huycwork on 2011-6-6 at 09:27 ]
漩涡的中心有一块空地,空空的。
3楼2011-06-05 10:12:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
xzhdty(金币+2): 谢谢交流 2011-06-05 14:21:41
余泽成(程序强帖+1): 鼓励交流! 2011-06-18 15:55:16
话说perl版的真是简洁
还是用C写吧,虽然看着挺不爽的
CODE:
#include
#include
#include


#define SIZE 50000

inline int cmp(const void *p1,const void *p2)
{
        return strcmp((char *)p1,(char *)p2);
}

inline int count(const char *p){
        int i=0,res=0;
        while(p[i]!='\0')res+=p[i++]-64;
        return res;
}

long euler22(){
        int i=0,length;
        FILE *fp=fopen("names.txt", "r");
        if(fp == 0) return -1;

        char str[SIZE];
        if (NULL == fgets(str, SIZE, fp)) {
                return -1;
        }
        fclose(fp);

        char *delims="\",";
        char *p=strtok(str,delims);
        char names[6000][15];
        while(p!=NULL){
                strcpy(names[i++],p);
                p=strtok(NULL,delims);
        }
        length=i;
  
        qsort(names,length,sizeof(names[0]),cmp);
  
        long  sum=0;
        for(i=0;i                 sum+=(i+1)*count(names[i]);
      
        return sum;
}



int main(void){

        printf("%ld\n",euler22());
  
        return 0;
}

4楼2011-06-05 13:42:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 【考研调剂】化学专业 281分,一志愿四川大学,诚心求调剂 +6 吃吃吃才有意义 2026-03-19 6/300 2026-03-20 10:47 by 尽舜尧1
[考研] 材料080500调剂求收留 +6 一颗meteor 2026-03-13 6/300 2026-03-20 10:41 by EBSD
[考研] 一志愿 南京航空航天大学大学 ,080500材料科学与工程学硕 +4 @taotao 2026-03-20 4/200 2026-03-20 10:37 by EBSD
[考研] 一志愿西南交通 专硕 材料355 本科双非 求调剂 +3 西南交通专材355 2026-03-19 3/150 2026-03-20 09:34 by 每天只摆一小会
[考研] 271材料工程求调剂 +7 .6lL 2026-03-18 7/350 2026-03-20 09:10 by xingguangj
[考研] 085600材料与化工 求调剂 +17 enenenhui 2026-03-13 18/900 2026-03-20 08:55 by xingguangj
[考研] 0703化学调剂 +10 妮妮ninicgb 2026-03-15 14/700 2026-03-19 22:59 by 学员8dgXkO
[考研] 307求调剂 +9 冷笙123 2026-03-17 9/450 2026-03-19 22:44 by 学员8dgXkO
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 6/300 2026-03-19 17:18 by fei626-918
[考研] 085600材料与化工 +5 安全上岸! 2026-03-16 5/250 2026-03-18 15:33 by cmz0325
[考研] 311求调剂 +6 26研0 2026-03-15 6/300 2026-03-18 14:43 by haxia
[考研] 311求调剂 +11 冬十三 2026-03-15 12/600 2026-03-18 14:36 by 星空星月
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +8 小李0854 2026-03-16 8/400 2026-03-18 14:35 by 搏击518
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
[考研] 301求调剂 +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
[考研] 有没有道铁/土木的想调剂南林,给自己招师弟中~ +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[论文投稿] 有没有大佬发小论文能带我个二作 +3 增锐漏人 2026-03-17 4/200 2026-03-17 09:26 by xs74101122
[考研] 考研调剂 +3 淇ya_~ 2026-03-17 5/250 2026-03-17 09:25 by Winj1e
[考研] 0854控制工程 359求调剂 可跨专业 +3 626776879 2026-03-14 9/450 2026-03-16 17:42 by 626776879
信息提示
请填处理意见