摘要:
题意:给出两个大写的英文串,规则:A代表1,B代表2......Z代表26,现在分别计算两个字符串,计算法则例如:ABC=1*2*3。如果两个字符串的得数mod 47相等,则输出GO,否则输出STAY。分析:充分利用ASCII码的对应关系,算每一个字母所代表的数即用s[i]-'A'+1即可,最后别忘了mod 47。 1 #include<cstdio> 2 #include<cstring> 3 4 int calc(char *s) 5 { 6 int len=strlen(s); 7 int ans=1; 8 for (int i=0;i<le 阅读全文
摘要:
题意:给出一个数n,求出从1900~1900+n-1之中,在13号的周一、周二、.....、周日各有几天。分析:对于年月日有个计算公式,叫蔡勒公式,详见百度百科。这里没有用这个公式。先提前开个数组month记录每个月的天数备用,至于2月份,可以根据闰年计算法则:四年一闰,百年不闰,四百年一闰,在单独处理2月的情况。再开个数组week记录答案。用一个变量last表示当前是这个月的1号是第多少天,初始为1,则一上来+12表示这个月的13号,mod 7则能计算出此时为周几,计入答案。再根据是否为闰年的二月来把last加至下个月的一号。以此类推,两重循环(一重循环year,一重循环month)即可。注 阅读全文