输入一个长度为100的数字字符串,首字符不能是0,判断是否能被7整除。
思路:把字符串中各个位数字拿出来与7取余,如果最后为0,表示可以整除,不为0表示不能整除。
例如:504:5%=5,50%7=1,14%7=0等于0。那么504能被7整除。
214:2%7=2,21%7=0,4%7=4不等于0。那么214就不能被7整除。
- string ParseTO(string str){
- Char[] ch=str.ToCharArray();//首先用字符数组接受字符串。
- string num=""; //临时字符串
- int tempNum=0; //临时数字
- for(int i=0;i<ch.Length;i++){
- int b; //b是每一位上的数字。
- if(tempNum!=0){//如果对7取余不为0,
- b=int.Parse(num+ch[i].ToString());
- }else{//如果对7取余为0
- b=int.Parse(ch[i].ToString());
- }
- if(b%7==0&&b==0){//如果遇到7,或者0,就直接跳过,也可以省略。
- continue;
- }
- num=(b%7).ToString();//num是临时字符串,存放每一位上对7取余的余数的字符串。
- tempNum=b%7; //临时数字,存放每一位对7取余的余数。
- }
- if(int.Parse(num)==0){//判断如果最后余数为0,表示能被7整除,否则不能被7整除。
- return "能被7整除";
- }else{
- return "不能被7整除";
- }
- }
大家有更好的方法,麻烦分享一下,大家一起进步。