问题描述
CSDN怎么不能上传文件啊,我给出(说明绝不是什么病毒)题目内容全在压缩文件里我用的是vs2008的,你可以只放入.cs文件到其它版本里面编译
解决方案
解决方案二:
要求说出来费不了多少时间吧。给你个反转数字的方法参考一下:staticintgetRevserNum(inti){char[]ch=i.ToString().ToCharArray();Array.Reverse(ch);returnConvert.ToInt32(newString(ch));}
解决方案三:
参考一下:classProgram{staticchar[]judgeChar={'5','6','7','8','9'};staticintnotSymmetrical,Times;staticvoidMain(string[]args){for(inti=0;i<15000;i++){Times=0;if(!judgeSymmetricalNumber(i.ToString()))notSymmetrical++;Console.WriteLine(i);}Console.WriteLine(notSymmetrical);Console.ReadLine();}//是否符合要求staticbooljudgeSymmetricalNumber(stringstr){if(isSymmetrical(str))returntrue;while(Times<66){Times++;strings=GetSum(str,getReveserStr(str));returnjudgeSymmetricalNumber(s);}returnfalse;}//获取翻转字符串staticstringgetReveserStr(stringstr){char[]ch=str.ToCharArray();Array.Reverse(ch);returnnewString(ch);}//判断是否为对称结构staticboolisSymmetrical(stringstr){if(str.IndexOfAny(judgeChar)==-1)returntrue;elsereturnstr.Equals(getReveserStr(str));}//字符串相加staticstringGetSum(stringstrNumA,stringstrNumB){StringBuildersb=newStringBuilder(30);intflag=0;for(inti=0;i<strNumB.Length;i++){inttemp=strNumA[i]+strNumB[i]-96;temp+=flag;flag=(temp>9?1:0);sb.Append(temp%10);}if(flag==1)sb.Append(1);stringstrs=getReveserStr(sb.ToString());returnstrs;}}
解决方案四:
你的错误在判断是否均匀结构的方法上:///<summary>///此数是不是小于5,如果是小于5肯定是对称///</summary>///<paramname="num"></param>///<returns></returns>boollessThanFive(stringnum){chs=ConvertStrToArray(num);for(inti=0;i<chs.Length;i++){if(chs[i]>=5)returnfalse;}returntrue;}
包含大于5的数字的时候也可以是对称结构的如11611具体参考楼上