22.求車速
一輛以固定速度行駛的汽車,司機在上午10點看到里程表上的讀數(shù)是一個對稱數(shù)(即這個數(shù)從左向右讀和從右向左讀是完全一樣的),為95859。兩小時后里程表上出現(xiàn)了一個新的對稱數(shù)。問該車的速度是多少?新的對稱數(shù)是多少?
*題目分析與算法設(shè)計
根據(jù)題意,設(shè)所求對稱數(shù)為i,其初值為95589,對其依次遞增取值,將i值的每一位分解后與其對稱位置上的數(shù)進行比較,若每個對稱位置上的數(shù)皆相等,則可判定i即為所求的對稱數(shù)。
*程序說明與注釋
#include
void main()
{
int t,a[5]; /*數(shù)組a存放分解的數(shù)字位*/
long int k,i;
for(i=95860;;i++) /*以95860為初值,循環(huán)試探*/
{
for(t=0,k=100000;k>=10;t++) /*從高到低分解所取i值的每位數(shù)*/
{ /* 字,依次存放于a[0]~a[5]中*/
a[t]=(i%k)/(k/10);
k/=10;
}
if((a[0]==a[4])&&(a[1]==a[3]))
{
printf("The new symmetrical number kelometers is:%d%d%d%d%d\n",
a[0],a[1],a[2],a[3],a[4]);
printf("The velocity of the car is: %.2f\n",(i-95859)/2.0);
break;
}
}
}
*運行結(jié)果
The new symmetrical number kelometers is:95959.
The velocity of the car is:50.00
*思考題
將一個數(shù)的數(shù)碼倒過來所得到的新數(shù)叫原數(shù)的反序數(shù)。如果一個數(shù)等于它的反序數(shù),則稱它為對稱數(shù)。求不超過1993的的二進制的對稱數(shù)。
一輛以固定速度行駛的汽車,司機在上午10點看到里程表上的讀數(shù)是一個對稱數(shù)(即這個數(shù)從左向右讀和從右向左讀是完全一樣的),為95859。兩小時后里程表上出現(xiàn)了一個新的對稱數(shù)。問該車的速度是多少?新的對稱數(shù)是多少?
*題目分析與算法設(shè)計
根據(jù)題意,設(shè)所求對稱數(shù)為i,其初值為95589,對其依次遞增取值,將i值的每一位分解后與其對稱位置上的數(shù)進行比較,若每個對稱位置上的數(shù)皆相等,則可判定i即為所求的對稱數(shù)。
*程序說明與注釋
#include
void main()
{
int t,a[5]; /*數(shù)組a存放分解的數(shù)字位*/
long int k,i;
for(i=95860;;i++) /*以95860為初值,循環(huán)試探*/
{
for(t=0,k=100000;k>=10;t++) /*從高到低分解所取i值的每位數(shù)*/
{ /* 字,依次存放于a[0]~a[5]中*/
a[t]=(i%k)/(k/10);
k/=10;
}
if((a[0]==a[4])&&(a[1]==a[3]))
{
printf("The new symmetrical number kelometers is:%d%d%d%d%d\n",
a[0],a[1],a[2],a[3],a[4]);
printf("The velocity of the car is: %.2f\n",(i-95859)/2.0);
break;
}
}
}
*運行結(jié)果
The new symmetrical number kelometers is:95959.
The velocity of the car is:50.00
*思考題
將一個數(shù)的數(shù)碼倒過來所得到的新數(shù)叫原數(shù)的反序數(shù)。如果一個數(shù)等于它的反序數(shù),則稱它為對稱數(shù)。求不超過1993的的二進制的對稱數(shù)。

