C语言编译能否被七整除,C++编程判断一个整数能否被3、5、7整除的几种方法

今天开始试着自己找一些试题做,遇到这样一道题:

编程实现输入一个整数,判断其能否被3、5、7整除,并输出以下信息之一:

(1)能同时被3、5、7整除;

(2)能被其中两个数(要指出哪两个)整除;

(3)能被其中一个数(要指出哪一个)整除;

(4)不能被3、5、7任一个整除。

自己写了一段程序,感觉非常的繁琐,于是在网上搜索一些大家编写的简单而又明了的代码如下

#include

void main()

{

int a;

cout <

cin >>a;

int c1 = a%3 ==0;

int c2 = a%5 ==0;

int c3 = a%7 ==0;

switch((c1<<2)+(c2<<1)+c3)     //可以改成switch((c1*4)+(c2*2)+c3)     {

case 0: cout <

case 1: cout <

case 2: cout <

case 3: cout <

case 4: cout <

case 5: cout <

case 6: cout <

case 7: cout <

}

}

#include

void main()

{

int x;

short int n=0;

cout<

cin>>x;

if(x%3!=0&&x%5!=0&&x%7!=0)

{

cout<

return;

}

else

{

cout<

if(x%3==0)

{cout<

n++;

}

if(x%5==0)

{cout<

n++;

}

if(x%7==0)

{cout<

n++;

}

}

cout<

}

#include

void main()

{

loop:

int i;

cin>>i;

(i%3&&i%5&&i%7)?cout<

:(i%7?cout<

:(i%5?(i%7?cout<

:(i%7?cout<

goto loop;

}

收集到如上三种可用方法,经测试均可用

一下是自己的程序

#include

void main(){ int x; cout<>x; int a,b,c; a=x%3; b=x%5; c=x%7; if (a==0) {  if(b==0&&c==0)   cout<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值