http://codeforces.com/contest/999/problem/B
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
//先找约数,反转相应位置
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
List<Integer> a = new ArrayList<Integer>();
for(int i = 1; i <= n; i++){
if(n%i==0){
a.add(i);
}
}
StringBuilder sb = new StringBuilder(bf.readLine());
for(int i : a){
StringBuilder temp = new StringBuilder(sb.subSequence(0, i));
temp.reverse();//反转
sb.replace(0, i, String.valueOf(temp));
}
System.out.println(sb);
}
}
- subSequence(int beginIndex, int endIndex):方法返回一个新的字符序列,它是此序列的一个子序列。
- replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串。