华为oj----iNOC产品部-杨辉三角的变形 .
生活随笔
收集整理的這篇文章主要介紹了
华为oj----iNOC产品部-杨辉三角的变形 .
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
此題提供三種方法,第一種,一開始就能想到的,設置一個足夠大的數組存儲生成的楊輝三角,然后進行判斷就行,此方法參見:華為oj iNOC產品部-楊輝三角的變形
?
另一種方法是采用遞歸:
三角形的每行的個數為2*n-1,n為行數,且每行的數字左右對稱。因此在查找偶數時,只需查找前n個數即可。
運用遞歸的思想:n行第i個數等于n-1行的第i-2,i-1,i個數相加(而不是i-1,i,i+1三個數),其次要注意的是:邊緣的數都是1,邊緣外的數都是0。
#include<iostream>using namespace std;int Getpos(int line,int num) {if(num<1 || num>2*line-1)return 0;else if(num==1 || num==2*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 i=1;i<=x;i++)if(Getpos(x,i)%2==0)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
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的华为oj----iNOC产品部-杨辉三角的变形 .的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑字体下载 电脑字体免费下载
- 下一篇: JQuery------鼠标双击时,不选