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;
}这贴我也回了。[ 本帖最后由 lz1091914999 于 2011-5-20 10:11 编辑 ]









