21xrx.com
2024-12-27 20:52:58 Friday
登录
文章检索 我的文章 写文章
C++判断正整数能否被11或13整除
2023-07-08 01:27:37 深夜i     --     --
C++ 正整数 判断 11 13

C++是一种非常有用的编程语言,在其语法上为我们提供了很多有用的工具来简化编程的难度。今天,我们将探索如何使用C++来判断正整数能否被11或者13整除。

首先,我们需要了解一下被11整除和被13整除的规则。对于11,我们可以使用以下的规则:将数字从右往左依次相加,如果能被11整除,则原数也能被11整除。例如,对于数字1432,1+4=5,5+3=8,8+2=10,所以1432能被11整除。

对于13,我们则需要使用以下规则:将正整数的最右边的一位数字乘以1,然后将下一个数字乘以10,再将下一个数字乘以100,如此类推,直到最左边的数字乘以10的(n-1)次方,再将这些数相加,如果能被13整除,则原数也能被13整除。例如,对于数字389,9×1+8×10+3×100=329,所以389能被13整除。

现在,我们将看一下如何在C++中实现这些规则。在C++中,我们可以使用余数操作符(%)来验证正整数是否能被另一个正整数整除。例如,n%11将返回n是否能被11整除的结果。同样的,我们也可以使用n%13来验证n是否能被13整除。

如果我们想要完整地实现上面提到的规则,我们可以编写以下的代码:


#include <iostream>

using namespace std;

bool canBeDividedBy11(int n){

  int sum = 0;

  while (n>0){

    sum += n%10;

    n /= 10;

  }

  return sum%11==0;

}

bool canBeDividedBy13(int n){

  int sum = 0, multi = 1;

  while (n>0){

    sum += (n%10)*multi;

    n /= 10;

    multi *= 10;

  }

  return sum%13==0;

}

int main() {

  int n;

  cin>>n;

  if (canBeDividedBy11(n))

    cout<<n<<" can be divided by 11"<<endl;

   else

    cout<<n<<" can not be divided by 11"<<endl;

  

  if (canBeDividedBy13(n))

    cout<<n<<" can be divided by 13"<<endl;

   else

    cout<<n<<" can not be divided by 13"<<endl;

  

  return 0;

}

在这段代码中,我们定义了两个函数,canBeDividedBy11和canBeDividedBy13,来分别判断一个正整数能否被11或13整除。在main函数中,我们首先读入需要判断的正整数n,然后分别调用上述函数进行判断,输出相应的结果。

在学习了以上内容之后,我们可以开始在C++中轻松实现判断正整数能否被11或13整除的功能。无论是在编程竞赛中,还是在实际应用中,这些知识都会很有用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复