96069还是95959??
有一辆在高速公路上行驶的汽车,司机在某一时刻看到里程表显示的数值为95859公里(95859为回文数,回文数是指正读反读均一样的数),7小时后,里程表上又出现了一个回文数。编程求出此回文数和汽车时速?(注:高速公路限速60公里以上,汽车的里程表为5位数)
#include <stdio.h> int isPalindrome(int n) { int i, j, ok = 0; for(i = 10000, j = 1; i > j; i /= 10, j *= 10) { if(n / i % 10 == n / j % 10) { ok++; } } if(ok == 2) return 1; return 0; } int main(void) { int palindrome1 = 95859, palindrome2; // 路程最少应该为95859 + 60 * 7 开始 int i = palindrome1 + 7 * 60, found = 0; while(i / 100000 < 1) { if(isPalindrome(i)) { palindrome2 = i; found = 1; break; } i++; } if(found) { printf("Speed : %d\n", (palindrome2 - palindrome1) / 7); printf("Next Palindrome is : %d\n", palindrome2); } return 0; }这道题挺有意思的。