题解 | #尼科彻斯定理#

尼科彻斯定理

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

//hj76
//奇数和偶数表达方式略微不同, 本来想奇数偶数合并觉得太麻烦索性就分开写了
//先把中间的两个数找到, 再向两边延申, 注意数组下标是2n和2n+1, 需要延申n/2次

import java.util.Arrays;
import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int []arr = new int[n];
        int k = n*n;
        int a,b;
        if(n%2==0)//偶数
        {
            a=k-1;
            b=k+1;
            for (int i = 0; i < n/2; i++)
            {
                arr[2*i] = a;
                arr[2*i+1] = b;
                a-=2;
                b+=2;
            }
        }
        else//奇数  5   5/2=2
        {
            a= k-2;
            b= k+2;
            arr[n-1] = k;
            for (int i = 0; i < n/2; i++)
            {
                arr[2*i] = a;
                arr[2*i+1] = b;
                a-=2;
                b+=2;
            }
        }

        Arrays.sort(arr);
        String str = "";
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < n; i++)
        {
            sb.append(arr[i]).append("+");
        }
        sb.deleteCharAt(sb.length()-1);
        System.out.println(sb.toString());
    }
}

华为机试题解 文章被收录于专栏

华为机试题解

全部评论

相关推荐

有工作后先养猫:太好了,是超时空战警,我们有救了😋
点赞 评论 收藏
分享
头像
11-07 01:12
重庆大学 Java
精致的小松鼠人狠话不多:签哪了哥
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务