C#一辆行驶的汽车司机上午10点里程表上一个对称数为95859两小时出现新的对称数问该车速为多少新的对称数是一辆行驶的汽车司机上午10点里程表上一个对称数为95859两小时出现新的对称数问
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 10:54:15
C#一辆行驶的汽车司机上午10点里程表上一个对称数为95859两小时出现新的对称数问该车速为多少新的对称数是一辆行驶的汽车司机上午10点里程表上一个对称数为95859两小时出现新的对称数问
C#一辆行驶的汽车司机上午10点里程表上一个对称数为95859两小时出现新的对称数问该车速为多少新的对称数是
一辆行驶的汽车司机上午10点里程表上一个对称数为95859两小时出现新的对称数问该车速为多少新的对称数是多少 要求要C#编程求解 最好是后面注解一下
C#一辆行驶的汽车司机上午10点里程表上一个对称数为95859两小时出现新的对称数问该车速为多少新的对称数是一辆行驶的汽车司机上午10点里程表上一个对称数为95859两小时出现新的对称数问
思路:
1、从95859开始递增,逐个判断是否为对称数,得到95859后的一个对称数.
2、得到两数的差并除以2,得到汽车的速度.
一下是实现代码:
static void Main(string[] args)
{
long Mileage_Start = 95859;//上午10点里程表的公里数
long Mileage_Over = Mileage_Start;//刚开始两数相同
do{
Mileage_Over++;
}
while (!isPalindrome(Mileage_Over));//调用isPalindrome()方法判断是否为对称数,是则跳出循环.
Console.WriteLine("下一个对称数为:{0}",Mileage_Over);
Console.WriteLine("2个小时行驶了:{0}KM",Mileage_Over - Mileage_Start);
Console.WriteLine("汽车的速度为:{0}KM/小时",(Mileage_Over - Mileage_Start)/2);
}
public static bool isPalindrome(long _Mileage) {
string Mileage = _Mileage.ToString();
Stack stack = new Stack();
bool flag = true;
char[] Mile = Mileage.ToCharArray();
for (int i = 0; i < Mile.Length;i++ )
{
stack.Push(Mile[i].ToString());//压栈
}
ArrayList array = new ArrayList();
for(int i =0;i