依照數(shù)學(xué)定義,可以得知1-999中的回文數(shù)包括三類:
創(chuàng)新互聯(lián)公司不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認(rèn)可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式全網(wǎng)整合營銷推廣需求,讓再小的成都品牌網(wǎng)站建設(shè)也能產(chǎn)生價值!
1 一位數(shù)。只有一位,每個都是回文數(shù)。
2 兩位數(shù)。個位和十位相同的兩位數(shù)是回文數(shù),即形式為aa的兩位數(shù),a值為1-9。
3 三位數(shù)。個位和百位相同的三位數(shù)都是回文數(shù),即形式為aba的三位數(shù),a值為1-9,b值為0-9。
綜合以上規(guī)律,可以寫出以下程序:
#include?stdio.h
int?main()
{
int?i,j;
for(i?=?1;?i??10;?i?++)
{
printf("%d,",?i);?//一位數(shù)
printf("%d%d,",?i,?i);//兩位數(shù)
for(j?=?0;?j??10;?j?++)
printf("%d%d%d,",i,j,i);//三位數(shù)
printf("\n");//為方便閱讀結(jié)果,加一個換行。
}
return?0;
}
該函數(shù)輸出為:
以上是根據(jù)數(shù)學(xué)規(guī)律,打印出所有符合要求的回文數(shù)。
另外還有編程中最常用的暴力嘗試方法。即對1-999中的所有數(shù)字,每個數(shù)都求其反序數(shù)字,如果與原值相等,則輸出。
這種方式可以按大小順序輸出所有的回文數(shù),需要計算量較大,用時比上一種方法會略長。
代碼如下:
#include?stdio.h
int?reverse(int?v)
{
int?r?=?0;
while(v)
{
r?=?r*10?+?v%10;//取v的結(jié)尾數(shù)字,置于r的尾端,從而達(dá)到反序效果。
v/=10;//將剩余各個位向右移動一位。
}
return?r;//返回結(jié)果
}
int?main()
{
int?i,j;
for(i?=?1,?j?=?0;?i??999;?i?++)
{
if(i?==?reverse(i))
{
printf("%-4d",?i);//每個輸出占4列,達(dá)到對其效果。
j++;
if(j?%?10?==?0)?printf("\n");//每10個數(shù)換行一次。
}
}
return?0;
}
輸出
任取一個十進(jìn)制整數(shù),用下面的方法可以求出一個回文數(shù):
把這個數(shù)字的各個位,顛倒前后位置,形成一個新數(shù),再和原數(shù)相加,得到的和,就可能是一個回文數(shù)。
如果不是回文數(shù),就再重復(fù)上述的步驟,則最終可得到回文數(shù)。
C語言是一種計算機(jī)程序設(shè)計語言。
它既有高級語言的特點,又具有匯編語言的特點。
它可以作為系統(tǒng)設(shè)計語言,編寫工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機(jī)硬件的應(yīng)用程序。
因此,它的應(yīng)用范圍廣泛。
C是一種計算機(jī)編程語言。就是說可以用C編寫指令清單交給計算機(jī)去執(zhí)行。
C是當(dāng)前正在使用的成千上萬種編程語言之一。它已經(jīng)有幾十年的歷史了。
因為它功能強(qiáng)大而且效率很高,所以受到了程序員們廣泛的歡迎。
C還是一種容易學(xué)習(xí)的語言,和其他一些語言相比,C的風(fēng)格稍有點古怪,但您會很快適應(yīng)的。
#includestdio.h
int main(){
int m[16], n, i, t, count=0;
long unsigned a, k;
printf("No. ? ?number ? ? it's square(palindrome)\n");
for( n=1; n256; n++ ) ?/*窮舉n的取值范圍*/
{
k=0; t=1; a=n*n; ?/*計算n的平方*/
for( i=0; a!=0; i++ ) ?/*從低到高分解數(shù)a的每一位存于數(shù)組m[1]~m[16]*/
{
m[i] = a % 10;
a /= 10;
}
for(; i0; i--)
{
k += m[i-1] * t; ?/*t記錄某一位置對應(yīng)的權(quán)值 */
t *= 10;}
if(k == n*n)printf("%2d%10d%10d\n", ++count, n, n*n);
}
return 0;
}
擴(kuò)展資料:
C語言在編寫的時候需要說明的是:
1、一個C語言源程序可以由一個或多個源文件組成。
2、每個源文件可由一個或多個函數(shù)組成。
3、一個源程序不論由多少個文件組成,都有一個且只能有一個main函數(shù),即主函數(shù)。是整個程序的入口。
4、源程序中可以有預(yù)處理命令(包括include 命令,ifdef、ifndef命令、define命令),預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面。
5、每一個說明,每一個語句都必須以分號結(jié)尾。但預(yù)處理命令,函數(shù)頭和花括號“}”之后不能加分號。(結(jié)構(gòu)體、聯(lián)合體、枚舉型的聲明的“}”后要加“ ;”)。
6、標(biāo)識符,關(guān)鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
參考資料:
百度百科-回文數(shù)