题解 | #尼科彻斯定理#

尼科彻斯定理

http://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    while (in.hasNextInt()) {
        int a = in.nextInt();
        System.out.println(getIndex(frequency(a),a).toString());

    }
}


//获取相加后的字符串
private static StringBuilder getIndex(int fer,int a) {
    int p = getHerd(1, fer-a);
    StringBuilder str = new StringBuilder();
    for (int i = 0; i < a; i++) {
        str.append(p+=2).append("+");
    }
    return str.delete(str.length()-1,str.length());
}

/**
 * 计算循环次数
 */
private static int frequency(int number){
    if(number == 1){
        return 1;
    }
    return frequency(number-1)+number;
}
//获取头节点
private static int getHerd(int origin, int number) {
    if (number == 1) {
        return origin;
    }
    return getHerd(origin + 2, number - 1);
}

}

全部评论

相关推荐

11-28 17:48
中山大学 C++
点赞 评论 收藏
分享
11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务