码迷,mamicode.com
首页 > 其他好文 > 详细

Problem_42

时间:2015-10-10 21:26:02      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:

Coded triangle numbers

Problem 42

The nth term of the sequence of triangle numbers is given by,tn=1/2n(n+1);so the first ten triangle numbers are:

                                             1, 3,  6, 10, 15, 21, 28, 36, 45, 55, ...

By converting each letter in a word to a number corresponding to its alphabetical position and adding these values we form a word value.

For example,the word value for SKY is 19+11+25=55=t10. If the word value is a triangle number then we shall call the word a triangle word.

Using words.txt, a 16K text file containing nearly two-thousand common English words,how many are triangle words?

 

三角形数序列中第n项的定义为:tn=1/2n(n+1);因此前十个三角形数是:

             1, 3, 6, 10, 15, 21, 28, 36, 45, 55,...

通过将一个单词中每个字母在字母表中的位置值加起来,我们可以将一个单词转换为一个数。例如,单词SKY的值为19+11+25=55=t10

如果单词的值是个三角形数,我们称这个单词为三角形单词。

words.txt是个16k的txt文本,里面大约有2000多个单词。求在这个文件中,一个有多少个三角形词?

 

注:题目链接 :https://projecteuler.net/problem=42

 


 

words.txt里的单词如图所示:

技术分享

在这里我对该文本进行了如下的处理

cat words.txt | tr , \n >Problem_42.txt  #将文档处理成图1的形式
cat Problem_42.txt | tr -d ">words.txt     #将文档处理成图2的形式

 

第一句话是将文档中的‘,‘换成‘\n‘。

第二句话是将文档中的‘“’删除  (-d)(delete)

注:tr命令的用法 自己可以去查资料

技术分享技术分享


 具体的代码如下:

#!/bin/bash
#2015-10-10
#Coded_Triangle_Numbers.sh
#Guth

word_num=0;
SUM=0;

start=$(date +%s)
#
cat words.txt | tr , \n >Problem_42.txt #cat Problem_42.txt | tr -d ">words.txt while read line do for word in $line do for((i=0;i<${#word};i++)) do var=`printf "%d" "‘${word:$i:i}"` let var=$var-64; let word_num+=$var; done for i in 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 do if [[ $word_num -eq i ]] then let SUM=SUM+1; fi done word_num=0; done done < words.txt echo $SUM end=$(date +%s) difference=$((end - start)) echo Time taken to execute commands is $difference seconds!

Guth 小结:
如果喜欢用编程解决数学问题可以去看看project euler
这学期刚开了一门课:linux操作系统,她很惊艳。
这道题花了我一个下午的时间,刚刚接触她。
许许多多东西都不懂,代码写的也比较笨重。
今天是一次尝试。
希望我能在这条路上越走越远...

 

Problem_42

标签:

原文地址:http://www.cnblogs.com/Guth/p/4868192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!