The nth term of the sequence of triangle numbers is given by, tn = ½n(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 (right click and 'Save Link/Target As...'), a 16K text file containing nearly two-thousand common English words, how many are triangle words?
原题大意:
三角形数序列中第 n 项的定义是: tn = ½n(n+1); 因此前十个三角形数是:
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
通过将一个单词中每个字母在字母表中的位置值加起来,我们可以将一个单词转换为一个数。例如,单词SKY的值为19 + 11 + 25 = 55 = t10。如果单词的值是一个三角形数,我们称这个单词为三角形单词。
words.txt (右键另存为)是一个16K的文本文件,包含将近两千个常用英语单词。在这个文件中,一共有多少个三角形词?
#include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <stdbool.h> #include <math.h> bool test(int n) { int m; m = (int)sqrt(n * 2); if(m * (m + 1) == 2 * n) return true; else return false; } int count(char * s) { int i = 0; int sum = 0; while(s[i] != '\0') { sum += s[i] - 'A' + 1; i++; } return sum; } void solve(void) { FILE *fp; int i, j, k; char *s, c; int sum = 0; char a[20]; fp = fopen("words.txt", "r"); fseek(fp, 0, SEEK_END); int file_size; file_size = ftell(fp); fseek(fp, 0, SEEK_SET); s = (char*)malloc(file_size * sizeof(char)); fread(s, sizeof(char), file_size, fp); i = j = k = 0; while(i <= file_size) { c = s[i++]; if(!isalpha(c)) { if(c == ',') { j = 0; if(test(count(a))) sum++; memset(a,'\0', 20 * sizeof(char)); } } else { a[j++] = c; } } if(test(count(a))) sum++; memset(a,'\0',20 * sizeof(char)); printf("%d\n",sum); } int main(void) { solve(); return 0; }
Answer:
|
162 |
Completed on Tue, 19 Nov 2013, 03:34
相关推荐
CodedUI test code for excel
CodedUI for Image save/read
Coded_Aperture-master.zip
As standard pc hex editors are not able to load ascii-coded-hex contents like intel hex or motorola s-records, I wrote a basic tool to handle ascii-coded-hex for my own. By the time it grew to ja-tool...
Data Transmission over Speech Coded Voice Channels-ETD
Time-Multiplexed Coded Aperture Imaging Learned Coded Aperture and Pixel Exposures for Compressive Imaging Systems
cml(Coded Modulation Library)源代码
python版实数编码的遗传算法。正确有效。对通常而言实数编码解决的是约束优化问题,整数编码求的是组合优化问题。选择合适的编码是解决遗传算法问题的基础工作。
使用彩色的位图编码的方式,进行强反光物体的扫描,和边界确定;广泛应用于三围扫描中
APPLYING SYNTHETIC APERTURE, CODED EXCITATION
主要介绍了TCQ基本思想与分类,是研究TCQ最基本的资料
Numerical control is a system of control that uses numerically coded instructions to operate motors and other devices that run a machine. The instructions are provided by either of the two binary ...
Springer Series on SIGNALS AND COMMUNICATION TECHNOLOGY
it gives the BER vs Snr curve.The un-coded system is simulated is by using randomly generated numbers and it s passed over the AWGN channel.the output of the matlab file clearly shows that the BER ...
这是一篇对于空时编码的全面描述,英文,pdf格式
Turbo code est le nom générique d'un code correcteur imaginé dans les années 1990, qui permet de s'approcher aussi près qu'on le souhaite de la
enhance the system throughput of a working OFDM system by adding turbo coding and adaptive modulation (AD).
LDPC coded OFDM system for power line communication in the presence of both AWGN and Impulsive noise..
Coded UI是自动化的功能测试,区别于探索性测试和压力测试。Coded UI可以通过已有的Action recording来生成代码,也可以使用CodedUI Test Builder来生成代码
ant colony algorithm coded by C++,工作非常完美