C练手题--Progressive Spiral Number Position 【7 kyu】

一.原题

链接:Training on Progressive Spiral Number Position | Codewars

Assume that you started to store items in progressively expanding square location, like this for the first 9 numbers:

二、解题

1、分析

 (1)数字必须存入点组成的正方形中。

(2) 5个数字可用3X3存放,6个必须用4X4。可用下面印证

layers(1) === 1
layers(5) === 2
layers(25) === 3
layers(30) === 4
layers(50) === 5

2、思路

(1)N行N列点阵,最外行有2*N-1个点

(2)N行N列点阵,共有pow(2*N-1,2)个点
(3)若pow(2*N-1,2)恰巧>=输入值,则返回N即可

三、Myway

int layers(int n) {

    //  <----  hajime!
for(int i=1;;i++){
  if((2*i-1)*(2*i-1)>=n) return i;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱读书的小胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值