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

如何在C++中打印出对函数的结果?

颜英博
2023-03-14

这是我在一个俄文网站上得到的代码,我曾尝试使用pair函数,但所有的尝试都失败了。请指导我如何做到这一点。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<char> vc;
typedef vector<ll> vll;
typedef vector<int> vi;
typedef pair<int, int> ii;
typedef vector<ii> vii;

pair<int, int> fib (int n) {
    if (n == 0)
        return {0, 1};

    auto p = fib(n >> 1);
    int c = p.first * (2 * p.second - p.first);
    int d = p.first * p.first + p.second * p.second;
    if (n & 1)
        return {d, c + d};
    else
        return {c, d};
}

int main() {
    cin.tie(0);
    cout.tie(0);
    ios_base::sync_with_stdio(0);

    int n;
    cin >> n;
    return 0;
}

共有1个答案

牧献
2023-03-14

您必须获得对中的结果,然后使用first和second属性打印。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<char> vc;
typedef vector<ll> vll;
typedef vector<int> vi;
typedef pair<int, int> ii;
typedef vector<ii> vii;

pair<int, int> fib (int n) {
    if (n == 0)
        return {0, 1};

    auto p = fib(n >> 1);
    int c = p.first * (2 * p.second - p.first);
    int d = p.first * p.first + p.second * p.second;
    if (n & 1)
        return {d, c + d};
    else
        return {c, d};
}

int main() {
    cin.tie(0);
    cout.tie(0);
    ios_base::sync_with_stdio(0);

    int n;
    cin >> n;
    pair<int, int> res = fib(n);
    cout << res.first << " " << res.second << endl;
    return 0;
}
 类似资料:
  • 我正在尝试使用joblib来并行化在函数上运行的循环。我希望显示函数的中间打印命令,而不仅仅是函数的返回值。 我得到以下输出: 我希望获得以下输出(或类似输出): 编辑:我刚刚注意到它确实会在启动Jupyter笔记本的终端窗口中打印我所需的输出。有没有关于如何在我的笔记本上打印的想法。提前谢谢。

  • 我试图编写一个函数,打印从根节点到叶节点的所有路径。 按从根到叶的顺序打印节点 例如 对于此示例,2是根,1-3是叶。 这是我的简单代码,我找不到新行应该在哪里,因为当我在任何地方写printf(“\n”)时,它打印出疯狂的输出,所以我在这段代码中找不到问题。

  • 问题内容: 我的代码中有一个字符串列表。 我想用换行符将它们打印出来,如下所示: 我试过了: 但是/ n不像换行符那样被识别。 问题答案: 你的斜线倒退了,应该是

  • 错误信息: D:\main.cpp:91:错误:与“operator<<”不匹配(操作数类型为“std::ostream{aka std::basic_ostream}”和“__gnu_cxx::__alloc_traits>::value_type{aka Obj}”)cout<

  • 在这个程序中,我必须打印1到100之间的素数。要遵循的方法是——要找出素数,用存储在数组中的前一个素数除以一个数。如果给定的数字在除以任何前一个素数时留下0作为余数,那么它就不是素数。如果不是,它就是一个素数,并将其添加到数组中。在程序中——我初始化了一个由100个数字组成的数组,并将1到100个数字存储在数组a中(步骤1)。是我将存储素数的数组。我在(步骤2)中存储了的前两个值。在(步骤3)中,

  • 问题内容: 好吧,这个交互式的python控制台代码段将告诉一切: 基本上,我想在打印列表时打印三个字符串。我也尝试过,但结果相同。 问题答案: 尝试: 并阅读此文档链接: