是个传颂厨

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
给你一个长为N的字符串A: A0 A1 A2 A3 ...... AN-1
S(0)   = A0 A1 A2 A3 ...... AN-2 AN-1 
S(1)   = A1 A2 A3 ...... AN-2 AN-1 A0 
S(2)   = A2 A3 ...... AN-2 AN-1 A0 A1 

......

S(N-1) = AN-1 A0 A1 A2 A3 ...... AN-2 
请你求出有多少个不同的i(0 <= i <= N - 1) ,使得S(i)和S(0)相等。
如:
A="aaa"
则输出:3
乍一看,随手写了一个就给对了。。。
# -*-coding:utf-8-*-
A = 'aaa'
j = 0
for i in range(len(A)):
    S = ''
    S = A[i:]+A[:i]#直接切片
    if S == A:
        j += 1
print j

那就貌似没什么难度的说。。。就是每次切片构成新的字符串,然后普通地一比较。

posted on 2016-04-09 20:42  是个传颂厨  阅读(159)  评论(0编辑  收藏  举报