面试归来兮之问答两道简单需求编程

需求:

第一行是这样的 :1

第二行是这样的 :2 3

第三行是这样的 :4 5 6

第四行是这样的 :7 8 9 10

....

求编程?

其实这个编程不能,最主要的就是找出规律。经验证,每一行的最后一个数字符合:(n*(n+1))/2。

所以编程如下:假设n=9我要求出前九行的排列

 

public static void main(String[] args)
{
    int n = 9;
        
    int maxNum = (n * (n + 1)) / 2;
    int a = 1;
    for(int i = 1; i <= maxNum; i++)
    {
       System.out.print(i + "  ");
       if(i == a * (a + 1) / 2)
       {
         a++;
         System.out.println("");
       }
     }
}

  

 回文编程:

   

public static void main(String[] args)
    {
        int num = 1234321;
        int[] nums = new int[]{1, 2, 3, 4, 3, 2, 1};
        int size = nums.length;
        for(int i = 0; i < size / 2; i++)
        {
            if(nums[i] != nums[size - i - 1])
            {
                System.out.println("不是回文");
                return;
            }
        }
        // String str = "abcdcba";
        // String s1 = str.substring(0, (str.length() - 1) / 2);
        // String s2 = str.substring((str.length() + 1) / 2, str.length());
        // s2 = new StringBuffer(s2).reverse().toString();
        // if(s1.equals(s2))
        // {
        // System.out.println("这是对称的");
        // }
        // else
        // {
        // System.out.println("这是非对称的");
        // }

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值