帮助将c++转换为MATLAB。

1视图(30天)
Peeraphol praphaichai
Peeraphol praphaichai 2020年10月29日
回答: Sripranav Mannepalli 2021年7月13日
帮助将c++转换为MATLAB。
# include <比特/ stdc + + . h >
使用名称空间性病;
pii typedef一对< int, int >;
const int N = 20;
向量v < pii >;
空白复发(int咕咕叫,int val, int vis, int t) {
如果(咕咕叫> N) {
返回;
}
v.push_back ({val、vis});
复发(咕咕叫+ 1,val + t, vis | 1 < <咕咕叫,t * 3);
复发(vis咕咕叫+ 1,val, t * 3);
}
int bs (int, int, int val) {
如果(l > r) {
返回1;
}
int中期=(左+右)/ 2;
如果(v(中期)。先= = val) {
返回中期;
}
如果(v(中期)。第一个< val) {
返回bs(中+ 1,r, val);
其他}{
返回b (l, mid-1, val);
}
}
int main () {
int n;
scanf (“% d”, n);
复发(0,0,0,1);
sort(逆序函数(),v.end ());
v.resize(独特(逆序函数(),v.end())逆序函数());
int sv = v.size () 1;
(汽车咕咕叫:v) {
int val = curr.first + n;
int p = b (0 sv val);
如果(p = = 1) {
继续;
}
bool通过= false;
int n1 = 0, n2 = 0;
for (int i = 0;我< N; + + i) {
如果(1 < < i&curr。第二个= = true & & 1 < <我[p]。第二个= = true) {
通过= true;
打破;
}
如果(1 < < i&curr.second) {
n1 + +;
}
如果(1 < <我[p],接着){
n2 + +;
}
}
如果(通过){
继续;
}
printf (" % d % d”, n1 + n2, val);
打破;
}
返回0;
}

答案(1)

Sripranav Mannepalli
Sripranav Mannepalli 2021年7月13日
你好,
你可以叫直接从MATLAB c++代码 如图所示, 在这里
交替, 得到 开始 艾德 MATLAB 编程 , 你可以开始 MATLAB斜坡弯道课程 完成后,在MATLAB可以得到更多的知识 MATLAB基础课程

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!