算法题:杨辉三角打印

;string Add(string s1,string s2){string my_str1(s1.rbegin(),s1.rend());string my_str2(s2.rbegin(),s2.rend());int len1 = my_str1.size();int len2 = my_str2.size();int flags = 0;string s;int i = 0;int j = 0;while (flags != 0 || i < len1 || j < len2){char ch1 = my_str1[i];char ch2 = my_str2[j];if (i >= len1){ch1 = ‘0’;}if (j >= len2){ch2 = ‘0’;}if (ch1 – ‘0’ + ch2 – ‘0’ + flags-10>=0){s += (ch1-‘0’ + ch2 – ‘0’-10+flags+’0′);flags = 1;}else{s += flags + ch1 + ch2 – ‘0’;flags = 0;}i++;j++;}return string(s.rbegin(),s.rend());}int main(){int n;while (cin >> n&&n!=0){vector<string> vtr((n+1)*n/2);int k = 0;for (int i = 0; i < n; i++){vtr[k] = “1”;vtr[k + i] = “1”;int m = i-2;int j = k + 1;while (m>=0){m–;//arr[j] = arr[j / 2 – 1]+arr[j/2];好吧,,以前就犯过这个错误,这不是完全二叉树。vtr[j] = Add(vtr[j – i – 1],vtr[j – i]);j++;}k = k + i + 1;}k = 0;for (int i = 0; i < n; i++){for (int j = 0; j <= i; j++){cout << vtr[k++].c_str() << ” “;}cout << endl;cout << endl;}}return 0;}

或许是某座闻名遐迩的文化古城。我们可以沿途用镜头记录彼此的笑脸,

算法题:杨辉三角打印

相关文章:

你感兴趣的文章:

标签云: