algorithm - 斜矩阵记数
解决方案
我似乎有一个解决方案,这是python代码:
num = int(input())
sum = 1
i = 1
while (num>sum):
i += 1
sum += i
diff = sum - num
if (i%2):
Y = i - diff
X = diff + 1
else:
Y = diff + 1
X = i - diff
通过这种方式,我们计算了数字所在的对角线的数字(这很有用,因为对角线上的相邻数字相差一个)。这是可能的,因为每个对角线包含的数字比前一个多 1 个。
接下来,我们看看对角线数的奇偶性。结合起来,这是对角线上的数字的数量,我们以最简单的方式计算数字在矩阵中的位置。你可以做实验。
推荐阅读
- c# - PropertyChangedCallback 不更新 GUI
- ruby-on-rails - Rails gem 来源什么也没显示
- grails - 当第一次提到任何课程时,罐子会膨胀,因此延迟很大
- java - 如何使用“添加”按钮重复添加 JPanel?如何在 ActionListener() 中调用 JPanel?
- angular - 如何在 Angular 6 的获取 url 中使用 localstorage 值?
- javascript - 如何在 click 函数中定位 span 的字符串?
- .net-core - 身份模型是否具有密码资源所有者流程的令牌自动刷新?
- python-3.x - 模块“statsmodels.tsa.api”没有属性“arima_model”
- android - 带有 Rg.Plugins.Popup 的 Xamarin Forms 应用程序在 Android 设备上崩溃
- java - 点击注册会导致安卓应用崩溃