abc.txt文件中有一些整数,试编程实现循环输入文件中的整数,判断其能否被3,5,7整除。
三种信息有是和否可能,排列起来一共有8种情况,将这三种信息按二进制进行制作,即被3整除放在第三位,被5整除放在第二位,被7整除放在第一位,构成三位二进制数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include<iostream> #include<fstream> using namespace std; void main() { ifstream in("abc.txt"); for(int n; in>>n; ) { switch( (!(n%3)<<2) + (!(n%5)<<1) + !(n%7) ) { case 0: cout<<n<<" "<<"none";break; case 1: cout<<n<<" "<<"7";break; case 2: cout<<n<<" "<<"5";break; case 3: cout<<n<<" "<<"5,7";break; case 4: cout<<n<<" "<<"3";break; case 5: cout<<n<<" "<<"3,7";break; case 6: cout<<n<<" "<<"3,5";break; case 7: cout<<n<<" "<<"3,5,7";break; } cout<<endl; } }
|