【问题标题】:Q - Given positive integers- m,n.. Find and print the values of 3^min(m,n) and 2^max(m,n)Q - 给定正整数 - m,n.. 查找并打印 3^min(m,n) 和 2^max(m,n) 的值
【发布时间】:2021-06-09 03:14:45
【问题描述】:

用C++写过如下:

#include <iostream>
using namespace std;
int main()
{
    int m,n;
    int threemin, twomax;
    threemin = 1; twomax = 1;
    cout<<"Enter m"<<"Enter n";
    cin>>m>>n;
    int i,j;
    for ((i = 1, j = 1) ; ( (i <= m), (j <= n) ) ; (i++,j++))
    {
        if (m>n){ i <= n ; threemin = threemin*3;}  //  for changing max value of i if m > n because we want to print 3^min(m,n)
        else {  threemin = threemin*3 ;} ; // 
        if (m>n){ j <= m ; twomax = twomax*2;} // same for changing j
        else {  twomax = twomax*2 ; } 
        
        
    }
    cout<<"Threemax is"<<threemin<<"Twomax is"<<twomax;
    return 0;
    
}

问题 -

  1. 例如 m = 4 和 n = 3 但这里 max(4,3) = 4 和 min(4,3) = 所以,我尝试了这样的代码,它会给出 3^min(m,n) 和2 ^ 最大(4,3)。 但是输出结果是 threemin = 3^3 = 81 和 twomax = 2^3 = 8。两者都以 n 作为指数。

我是初学者。请帮我纠正。

【问题讨论】:

  • 您对如下声明有何期待:j &lt;= m ;j &lt;= n;?请您详细说明您写这篇文章的原因吗?
  • 另外请重新格式化以使其可读。为您的两个问题提供实际输出,以及您的期望。您不需要 () for 循环的 3 个部分。 if 和 for 后面通常没有空格。条件中的逗号运算符是奇数。
  • 你认为( (i &lt;= m), (j &lt;= n) ) 会做什么?也不清楚任务是什么。找出一个数字序列的最小值和最大值,并用它做一些有趣的计算?
  • 有两个循环会简单得多。
  • 这不是( (i &lt;= m), (j &lt;= n) ) 所做的。 Comma operator 您想要实现的目标将被表示为i &lt;= m &amp;&amp; j &lt;= n 或i &lt;= m || j &lt;= n。 (我不清楚你的意图。)Logical operators

标签: c++ for-loop if-statement conditional-statements max


【解决方案1】:

您可以改为这样做:

#include <iostream>
using namespace std;

int main()
{
    int m, n, lesser, greater, threemin=1, twomax=1, i=1;

    cout << "Enter m " << "Enter n";
    cin >> m >> n;

    lesser = min(m, n);     // find smallest
    greater = max(m, n);    // find largest

    while(i <= lesser) {    // ride on smallest untill done
        threemin *= 3;
        twomax *= 2;
        i++;
    }

    while(i <= greater) {    // continue for largest
        twomax *= 2;
        i++;
    }

    cout << "Threemin is: " << threemin << ", Twomax is: " << twomax;
    return 0;
}

【讨论】:

  • 谢谢,那时我才刚开始学编程,现在我明白我的错误是什么了
猜你喜欢
  • 1970-01-01
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多