21.4位反序數(shù)
設(shè)N是一個四位數(shù),它的9倍恰好是其反序數(shù),求N。反序數(shù)就是將整數(shù)的數(shù)字倒過來形成的整數(shù)。例如:1234的反序數(shù)是4321。
*題目分析與算法設(shè)計
可設(shè)整數(shù)N的千、百、十、個位為i、j、k、l,其取值均為0~9,則滿足關(guān)系式:
(i*103+j*102+10*k+l)*9=(l*103+k*102+10*j+i)
的i、j、k、l即構(gòu)成N。
*程序說明與注釋
#include
void main()
{
int i;
for(i=1002;i<1111;i++) /*窮舉四位數(shù)可能的值*/
if(i%10*1000+i/10%10*100+i/100%10*10+i/1000==i*9)
/*判斷反序數(shù)是否是原整數(shù)的9倍*/
printf("The number satisfied stats condition is: %d\n",i);
/*若是則輸出*/
}
*運行結(jié)果
The number satisfied states condition is:1089
設(shè)N是一個四位數(shù),它的9倍恰好是其反序數(shù),求N。反序數(shù)就是將整數(shù)的數(shù)字倒過來形成的整數(shù)。例如:1234的反序數(shù)是4321。
*題目分析與算法設(shè)計
可設(shè)整數(shù)N的千、百、十、個位為i、j、k、l,其取值均為0~9,則滿足關(guān)系式:
(i*103+j*102+10*k+l)*9=(l*103+k*102+10*j+i)
的i、j、k、l即構(gòu)成N。
*程序說明與注釋
#include
void main()
{
int i;
for(i=1002;i<1111;i++) /*窮舉四位數(shù)可能的值*/
if(i%10*1000+i/10%10*100+i/100%10*10+i/1000==i*9)
/*判斷反序數(shù)是否是原整數(shù)的9倍*/
printf("The number satisfied stats condition is: %d\n",i);
/*若是則輸出*/
}
*運行結(jié)果
The number satisfied states condition is:1089