互助网站制作公司,头条网站怎么做的,网络推广外包怎么样,中外商贸做网站好在哪此题提供三种方法#xff0c;第一种#xff0c;一开始就能想到的#xff0c;设置一个足够大的数组存储生成的杨辉三角#xff0c;然后进行判断就行,此方法参见#xff1a;华为oj iNOC产品部-杨辉三角的变形 另一种方法是采用递归#xff1a; 三角形的每行的个数为2*n-1,n… 此题提供三种方法第一种一开始就能想到的设置一个足够大的数组存储生成的杨辉三角然后进行判断就行,此方法参见华为oj iNOC产品部-杨辉三角的变形 另一种方法是采用递归 三角形的每行的个数为2*n-1,n为行数且每行的数字左右对称。因此在查找偶数时只需查找前n个数即可。 运用递归的思想n行第i个数等于n-1行的第i-2,i-1,i个数相加而不是i-1,i,i1三个数其次要注意的是边缘的数都是1边缘外的数都是0。 #includeiostreamusing namespace std;int Getpos(int line,int num)
{if(num1 || num2*line-1)return 0;else if(num1 || num2*line-1)return 1;elsereturn Getpos(line-1,num-2)Getpos(line-1,num-1)Getpos(line-1,num);}int run(int x)
{int tmp;for(int i1;ix;i)if(Getpos(x,i)%20)return i;return -1;
}int main()
{int t;cin t;cout run(t);return 0;
} 第三种方案是通过找规律 找规律会发现最终返回的结果只能有-1,2,3,4 这四种结果代码比较简单方法参见华为oj iNOC产品部-杨辉三角的变形 转载于:https://www.cnblogs.com/wujing-hubei/p/6367902.html