日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

周期串-java

發布時間:2023/11/27 生活经验 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 周期串-java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述:一個字符串可以由某個長度為k的字符串重復多次得到。該串的周期可以看為K。eg:HAHAHA周期為2? 特殊案例 HABC 周期為4

1.java

import java.util.Scanner;
/**
?* 周期串
?* @author NEU-2015
?*
?*/
public class Demo {
??? public static void main(String[] args) {
??????? Scanner input = new Scanner(System.in);
??????? String str = null;
??????? boolean flag = true; ?
??????? while (input.hasNext()) {
??????????? str = input.nextLine();
??????????? for (int i = 1; i < str.length(); i++) {
??????????????? if (str.length() % i == 0) {? //因為字符串是循環得到的 所以滿足這個關系時?? eg:HAaHAa 6%3 == 0;
??????????????????? flag = true; ?
??????????????????? for (int j = i; j <= str.length(); j++) {????????? //等號用來判斷是否存在周期為1 的情況
??????????????????????? if (str.charAt(j) != str.charAt(j % i)) {
??????????????????????????? flag = false;????? //沒有匹配成功? 返回false 結束匹配
??????????????????????????? break;
??????????????????????? }
??????????????????? }
??????????????????? if(flag) {
??????????????????????? System.out.println(i);
??????????????????? }
??????????????? }
??????????? }
??????? }
??? }
}

2.c

#include <stdio.h>
#include <string.h>
//@author NEU-2015
int main() {char word[100];scanf("%s", word);int len = strlen(word);for(int i = 1; i <= len; i++) if(len % i == 0) {int ok = 1;        //標志位for(int j = i; j < len; j++) {if(word[j] != word[j%i]) {ok = 0; break;}}if(ok) {printf("%d\n", i);break;}}return 0;
}

?

轉載于:https://www.cnblogs.com/NEU-2015/p/7496690.html

總結

以上是生活随笔為你收集整理的周期串-java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。