C#面試題:輸入一個長度100的數字字串,判斷是否能被7整除
阿新 • • 發佈:2018-12-26
輸入一個長度為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整除";
- }
- }
大家有更好的方法,麻煩分享一下,大家一起進步。