惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
J
Java Code Geeks
Jina AI
Jina AI
罗磊的独立博客
宝玉的分享
宝玉的分享
S
SegmentFault 最新的问题
D
DataBreaches.Net
博客园 - 叶小钗
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
阮一峰的网络日志
阮一峰的网络日志
B
Blog
V
Visual Studio Blog
雷峰网
雷峰网
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - wasd

pear安装步骤 linux定时任务的设置 C语言字符串拆分,打开关闭文件 - wasd - 博客园 js-tips 用optgroup 禁用select中的option方法 - wasd - 博客园 DB2常用语句记录 addslashes、get_magic_quotes_gpc函数、stripslashes函数(转来记录一下) - wasd - 博客园 Linux 强制卸载软件 - wasd - 博客园 Setup locally visual host - wasd B:有道搜索框 B:有道饭团 A:另类的异或 C:Sibonacci - wasd - 博客园 CakePHP支持DB2 PHP 的变量 - wasd - 博客园 DB2 SQLSTATE 消息异常 JDBC中Preparedstatement使用小结 及JDBC插入数据后获得Last insert ID 并行计算简介 PB3编译adobe的例子photoviewer时错误处理
B:X星球的身份证系统
wasd · 2010-05-30 · via 博客园 - wasd
描述
在X星球上的外星人和地球上一样拥有一个长N位的身份证号码,而X星球的人使用的是一种26进制身份证号码,用a~z表示。
在X星球上正在举行一次幸运者抽奖活动,X星球的政府首脑制定了一个特殊的抽奖规则,凡是身份证号码符合对称性质(回文串)的人就能够成为本次活动的幸运者。
现在你知道X星球中最大的身份证号码,希望你能够计算出最多有多少人将成为本次活动的幸运者。
输入
输入数据的第一行为一个正整数N,第二行为一个长度为N的字符串,表示已知的最大身份证号码.
其中 N <= 30
输出
本次活动的最大幸运人数模10000的结果.
样例输入
3
bca
样例输出
28


提示
样例说明:幸运者的身份证号为 a[a~z]a,bab,bbb

30个z算出来的结果都和人家一样,但就是wa,郁闷啊。

 1 import java.util.Scanner;
 2 public class Main {
 3     public static void main(String[] args) {
 4         Scanner in = new Scanner(System.in);
 5         int len = in.nextInt();
 6         String input = in.next();
 7         if(len==1)
 8             System.out.println(input.charAt(0)-'a'+1);
 9         else
10         {
11             int count=len/2;
12             int ji = 1- len%2;
13             int sum=0;
14             for(int i=0;i<count;i++)
15             {
16                 sum+=(input.charAt(i)-'a')*(Math.pow(26, count- i -ji)%10000);
17                 if(sum>10000)sum%=10000;
18             }
19             int j=0;
20             for(;j<count;j++)
21             {
22                 if(input.charAt(j)>input.charAt(len-j-1))
23                     break;
24             }
25             if(j==count)sum++;
26             if(ji==0)sum+=input.charAt(count)-'a';
27             sum%=10000;
28             System.out.println(sum);
29         }
30     }
31 }
32