#includestdio.h
10余年的滴道網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整滴道建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“滴道網(wǎng)站設(shè)計”,“滴道網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
#includestring.h
#define?MAX?100???//預(yù)定義數(shù)組長度
int?reverse(char?a[])//判斷是否回文,數(shù)字也當(dāng)字符處理
{
int?n=strlen(a);
int?i;
for(i=0;in;i++)
{
if(a[i]!=a[n-i-1])
return?0;??//從首尾開始比較,有任一不相等,不是回文,返回0
if(i==n-i-1)?//全相等,是回文。返回1
return?1;
}
}
int?main(){
char?a[MAX];
while(scanf("%s",a)!=EOF)//接受輸入?CTRL+Z結(jié)束輸入
{
if(reverse(a))
printf("YES\n");
else
printf("NO\n");
}
return?0;
}
回文數(shù)"回文數(shù)"是一種數(shù)字.如:98789, 這個數(shù)字正讀是98789,倒讀也是98789,正讀倒讀一樣,所以這個數(shù)字
就是回文數(shù).
任意某一個數(shù)通過以下方式相加也可得到
如:29+92=121 還有 194+491=586,586+685=1271,1271+1721=2992
不過很多數(shù)還沒有發(fā)現(xiàn)此類特征(比如196,下面會講到)
另外個別平方數(shù)是回文數(shù)
1的平方=1
11的平方=121
111的平方=12321
1111的平方=1234321
。
。
。
。
依次類推
3×51=153
6×21=126
4307×62=267034
9×7×533=33579
上面這些算式,等號左邊是兩個(或三個)因數(shù)相乘,右邊是它們的乘積。如果把每個算式中的“×”和“=”去掉,那么,它們都變成回文數(shù),所以,我們不妨把這些算式叫做“回文算式”。還有一些回文算式,等號兩邊各有兩個因數(shù)。請看:
12×42=24×21
34×86=68×43
102×402=204×201
1012×4202=2024×2101
不知你是否注意到,如果分別把上面的回文算式等號兩邊的因數(shù)交換位置,得到的仍是一個回文算式,比如:分別把“12×42=24×21”等號兩邊的因數(shù)交換位置,得到算式是:
42×12=21×24
這仍是一個回文算式。
還有更奇妙的回文算式,請看:
12×231=132×21(積是2772)
12×4032=2304×21(積是48384)
這種回文算式,連乘積都是回文數(shù)。
四位的回文數(shù)有一個特點,就是它決不會是一個質(zhì)數(shù)。設(shè)它為abba,那它等于a*1000+b*100+b*10+a,1001a+101b。能被11整除。
六位的也一樣,也能被11整除
還有,人們借助電子計算機發(fā)現(xiàn),在完全平方數(shù)、完全立方數(shù)中的回文數(shù),其比例要比一般自然數(shù)中回文數(shù)所占的比例大得多。例如11^2=121,22^2=484,7^3=343,11^3=1331,11^4=14641……都是回文數(shù)。
人們迄今未能找到五次方,以及更高次冪的回文數(shù)。于是數(shù)學(xué)家們猜想:不存在nk(k≥5;n、k均是自然數(shù))形式的回文數(shù)。
在電子計算器的實踐中,還發(fā)現(xiàn)了一樁趣事:任何一個自然數(shù)與它的倒序數(shù)相加,所得的和再與和的倒序數(shù)相加,……如此反復(fù)進(jìn)行下去,經(jīng)過有限次步驟后,最后必定能得到一個回文數(shù)。
這也僅僅是個猜想,因為有些數(shù)并不“馴服”。比如說196這個數(shù),按照上述變換規(guī)則重復(fù)了數(shù)十萬次,仍未得到回文數(shù)。但是人們既不能肯定運算下去永遠(yuǎn)得不到回文數(shù),也不知道需要再運算多少步才能最終得到回文數(shù)。
//ok了。。
#includestdio.h
#includestring.h
//判斷是否是回文,處理相加,判斷是不是還找不到。
bool f(char str[],int n)
{
int i,j;
char ans[100];
int e,d;
for(i=0;str[i]!='\0';i++);//i為長度
for(j=0;ji;j++)
ans[j]=str[i-1-j];//逆序賦值給ans
ans[j]='\0';
if(strcmp(ans,str)==0) return false;//找到了,返回。
//printf("%s %s\n",str,ans);
//高精運算
e=0;
for(j=0;ji;j++)
{
d=str[j]-'0'+ans[j]-'0'+e;
e=d/n;
str[j]=d%n+'0';
}
if(e!=0) {str[j]=e+'0';j++;str[j]='\0';}
return true;
}
int main()
{
int step;
char ans[100];
char m[100];//只能用高精度算
int n;
while(scanf("%d%s",n,m)!=EOF)
{
step=0;
strcpy(ans,m);
while(f(ans,n))
{
step++;
if(step30) break;
}
if(step30) printf("impossible\n");
else printf("STEP=%d\n",step);
}
return 0;
}
任取一個十進(jìn)制整數(shù),用下面的方法可以求出一個回文數(shù):
把這個數(shù)字的各個位,顛倒前后位置,形成一個新數(shù),再和原數(shù)相加,得到的和,就可能是一個回文數(shù)。
如果不是回文數(shù),就再重復(fù)上述的步驟,則最終可得到回文數(shù)。
C語言是一種計算機程序設(shè)計語言。
它既有高級語言的特點,又具有匯編語言的特點。
它可以作為系統(tǒng)設(shè)計語言,編寫工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。
因此,它的應(yīng)用范圍廣泛。
C是一種計算機編程語言。就是說可以用C編寫指令清單交給計算機去執(zhí)行。
C是當(dāng)前正在使用的成千上萬種編程語言之一。它已經(jīng)有幾十年的歷史了。
因為它功能強大而且效率很高,所以受到了程序員們廣泛的歡迎。
C還是一種容易學(xué)習(xí)的語言,和其他一些語言相比,C的風(fēng)格稍有點古怪,但您會很快適應(yīng)的。