C#如何确定一个数字是否是另一个的倍数?

时间:2010-07-09 20:55:54

标签: c#

通过将int计算的乘积转换为字符串,而不使用字符串操作(检查.,字符的出现)。

不使用依赖于数据类型错误的try / catch方案。

如果数字是另一个数字的倍数,您如何使用C#进行专门检查?

例如,6是3的倍数,但7不是。

6 个答案:

答案 0 :(得分:72)

尝试

public bool IsDivisible(int x, int n)
{
   return (x % n) == 0;
}

模数运算符%在将x除以n之后返回余数,如果x可被n整除,则该余数将始终为0.

有关详细信息,请参阅the % operator on MSDN

答案 1 :(得分:12)

使用模数(%)运算符:

6 % 3 == 0
7 % 3 == 1

答案 2 :(得分:12)

bool isMultiple = a % b == 0;

如果a是b

的倍数,则为真

答案 3 :(得分:7)

我没有得到关于字符串内容的部分,但为什么不使用模运算符(%)来检查数字是否可被另一个数字分割?如果一个号码可以被另一个号码分割,另一个号码将自动成为该号码的倍数。

就是这样:

   int a = 10; int b = 5;

   // is a a multiple of b 
   if ( a % b == 0 )  ....

答案 4 :(得分:0)

以下程序将执行,"一个号码是另一个号码的倍数"在

#include<stdio.h>
int main
{
int a,b;
printf("enter any two number\n");
scanf("%d%d",&a,&b);
if (a%b==0)
printf("this is  multiple number");
else if (b%a==0);
printf("this is multiple number");
else
printf("this is not multiple number");
return 0;
}

答案 5 :(得分:-2)

您的程序有一些语法错误,这里有一个工作代码;

#include<stdio.h>
int main()
{
int a,b;
printf("enter any two number\n");
scanf("%d%d",&a,&b);
if (a%b==0){
printf("this is  multiple number");
}
else if (b%a==0){
printf("this is multiple number");
}
else{
printf("this is not multiple number");
return 0;
}

}