版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(497)
>
导师招生
(44)
>
虫友互识
(33)
>
招聘信息布告栏
(11)
>
博后之家
(8)
>
硕博家园
(7)
>
考博
(6)
>
考研
(5)
>
论文道贺祈福
(4)
>
教师之家
(3)
>
找工作
(3)
>
基金申请
(2)
>
外文书籍求助
(2)
>
文献求助
(2)
>
公派出国
(2)
>
论文投稿
(2)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
其它
»
Euler 工程 第廿二题: 姓的总分
5
1/1
返回列表
查看: 1526 | 回复: 13
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
本帖产生 2 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
holmescn
金虫
(正式写手)
程序强帖: 37
应助: 1
(幼儿园)
金币: 1918.8
散金: 275
红花: 1
帖子: 699
在线: 102.6小时
虫号: 913482
注册: 2009-11-26
性别: GG
专业: 凝聚态物性 II :电子结构
[交流]
Euler 工程 第廿二题: 姓的总分
已有5人参与
附件中是一个包含了5前个姓的文件。先把它按字母表排序,然后计算每个姓的值,并乘以这个姓在文件中的序数得到这个姓的分数。
例如,COLIN,它的字母值是:3+15+12+9+14=53,在排序后的列表中,它在第938位,这样COLIN的得分为:53*938=49714
那么这个文件中所有姓的总分是多少?
回复此楼
» 本帖已获得的红花(最新10朵)
holmescn
» 猜你喜欢
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
孩子确诊有中度注意力缺陷
已经有6人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
Project Euler 50 欧拉工程 50 题
已经有12人回复
Project Euler 48 欧拉工程 48 题
已经有30人回复
Project Euler 45 欧拉工程 45 题
已经有7人回复
Euler 工程 第廿九题:有多少不同的项?
已经有30人回复
Euler 工程 第廿六题:最长的循环节
已经有9人回复
Euler 工程 第廿四题:全排列的第100万项
已经有19人回复
Euler 工程第十六题:2的1000次方的各项和
已经有14人回复
Euler 工程 第十五题:从左上角到右下角有多少条路?
已经有5人回复
Euler 工程 第14题:找最长的数列
已经有9人回复
Euler Project Q13 欧拉工程第十三题
已经有20人回复
Euler Project Q12 欧拉工程第十二题
已经有23人回复
Euler 工程 第十一题:相邻元素乘积最大
已经有10人回复
Euler Project Q7. 欧拉工程第七题
已经有14人回复
Euler 工程 第六题:平方和与和的平方差多少?
已经有5人回复
Euler 工程 第二题:Fibonacci数列中小于4百万的偶数的和
已经有8人回复
1楼
2011-06-05 00:28:39
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
libralibra
至尊木虫
(著名写手)
骠骑将军
程序强帖: 40
应助: 817
(博后)
金币: 12914.1
红花: 64
帖子: 2238
在线: 287.3小时
虫号: 696514
注册: 2009-02-05
专业: 计算机软件
★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖
jjdg(金币+1): 端午节快乐 2011-06-06 03:21:53
上python
CODE:
#! usr/bin/env python
import string
s = open('names.txt').read()[1:-1].split('","')
s.sort()
print sum([(i+1)*sum([string.ascii_uppercase.index(c)+1 for c in s[i]]) for i in xrange(len(s))])
赞
一下
(2人)
回复此楼
高级回复
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼
2011-06-05 17:24:10
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 14 个回答
libralibra
至尊木虫
(著名写手)
骠骑将军
程序强帖: 40
应助: 817
(博后)
金币: 12914.1
红花: 64
帖子: 2238
在线: 287.3小时
虫号: 696514
注册: 2009-02-05
专业: 计算机软件
★ ★ ★ ★ ★ ★
小木虫(金币
+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
赞
一下
(3人)
回复此楼
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼
2011-06-05 01:32:32
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
huycwork
金虫
(著名写手)
程序强帖: 22
应助: 0
(幼儿园)
金币: 953
散金: 663
红花: 8
沙发: 13
帖子: 1080
在线: 264.1小时
虫号: 1257243
注册: 2011-04-06
专业: 金融学
★ ★ ★ ★ ★ ★
小木虫(金币
+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人)
回复此楼
漩涡的中心有一块空地,空空的。
3楼
2011-06-05 10:12:44
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
散金: 2709
红花: 18
沙发: 1
帖子: 1915
在线: 1537.1小时
虫号: 772953
注册: 2009-05-17
性别: GG
专业: 凝聚态物性 II :电子结构
★ ★ ★
小木虫(金币
+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;
}
赞
一下
(3人)
回复此楼
4楼
2011-06-05 13:42:07
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 14 个回答
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定