通过将int计算的乘积转换为字符串,而不使用字符串操作(检查.
或,
字符的出现)。
和
不使用依赖于数据类型错误的try / catch方案。
如果数字是另一个数字的倍数,您如何使用C#进行专门检查?
例如,6是3的倍数,但7不是。
答案 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;
}
}