当前位置: 首页 > 知识库问答 >
问题:

通过插入交替的上下三角形元素来填充矩阵的第n个插入元素

昝光临
2023-03-14

我试图编写一个函数,能够将第n个插入元素映射到矩阵的(I,j)位置。众所周知,填充该矩阵的方法是以以下非标准方式进行的。

(0,0)...(0,1)...(1,0)...(0,2)...(2,0)...(n,0)。。。(0,n)。。。(1,1)....(1,2)...(2,1)...(n,1)。。。(1,n)。。。。。(n,n)

换句话说,它从左上角开始,然后在插入对角线元素后,它将交替元素插入到上下三角形中,一直穿过外侧行

我想实现的是一个功能

std::pair<int,int> getMatrixCoordinates (int nthElement)
{

return std::pair<int,int> (row, col) ;


}

共有1个答案

奚翰海
2023-03-14

这只需要一点编程:

template <int N>
std::pair<int, int> getMatrixCoordinates(int i)
{
    int a(N - std::sqrt(N * N - i));
    int b(i - (2 * N - a) * a);
    int c(a + (b + 1) / 2);
    return std::make_pair(b & 1? a: c, b & 1? c: a);
}
 类似资料:
  • 这是我的审判,但它没有涵盖一切,也在重复,我做错了什么?

  • 问题内容: 假设我有一个这样的Python清单: 我想在每个第n个元素后插入一个“ x”,比方说该列表中的三个字符。结果应为: 我知道我可以通过循环和插入来做到这一点。我实际上正在寻找的是Pythonish方式,也许是单线? 问题答案: 我有两个一线客轮。 鉴于: 使用获得指数,增加每3次字母, 如 :,然后连接成字符串和它。 [‘a’, ‘b’, ‘c’, ‘x’, ‘d’, ‘e’, ‘f’,

  • 我是Vaadin和Java的新手,我正在处理以下问题: 在下面的代码中,我想在ArrayList“newList”中添加多个元素。如你所见,名为“ps”的元素有5个子元素。 问题是,在ArrayList中添加的当前(循环中的)元素替换了每个索引中所有先前的元素,结果它最终只返回最后一个“ps”元素,循环发生的次数是多少。 和代码:

  • 本文向大家介绍jQuery实现元素的插入,包括了jQuery实现元素的插入的使用技巧和注意事项,需要的朋友参考一下  效果图: 图(1) 初始效果 图(2) 点击' 插入到此元素前面 '效果  代码如下: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 费率为22 x 22矩阵。 我想用行中所有其他元素的总和替换费率矩阵的对角线元素。 例如, 费率。项目(0,0)=费率。项目(0,1)费率。项目(0,2)费率。项目(0,3)。。。。费率。项目(0,21) rates.item(1,1)=rates.item(1,0)rates.item(1,2)rates.item(1,3)rates.item(1,21) ..... 费率。第(21,21)项=

  • 这是一个面试问题。 在具有排序行和列的矩阵中找到Kth最小元素。 Kth最小元素是中的一个,例如,这是否正确?