1. c語言中,什麼是迴文數
迴文數"迴文數"是一種數字.如:98789, 這個數字正讀是98789,倒讀也是98789,正讀倒讀一樣,所以這個數字
就是迴文數.
任意某一個數通過以下方式相加也可得到
如:29+92=121 還有 194+491=586,586+685=1271,1271+1721=2992
不過很多數還沒有發現此類特徵(比如196,下面會講到)
另外個別平方數是迴文數
1的平方=1
11的平方=121
111的平方=12321
1111的平方=1234321
。
。
。
。
依次類推
3×51=153
6×21=126
4307×62=267034
9×7×533=33579
上面這些算式,等號左邊是兩個(或三個)因數相乘,右邊是它們的乘積。如果把每個算式中的「×」和「=」去掉,那麼,它們都變成迴文數,所以,我們不妨把這些算式叫做「迴文算式」。還有一些迴文算式,等號兩邊各有兩個因數。請看:
12×42=24×21
34×86=68×43
102×402=204×201
1012×4202=2024×2101
不知你是否注意到,如果分別把上面的迴文算式等號兩邊的因數交換位置,得到的仍是一個迴文算式,比如:分別把「12×42=24×21」等號兩邊的因數交換位置,得到算式是:
42×12=21×24
這仍是一個迴文算式。
還有更奇妙的迴文算式,請看:
12×231=132×21(積是2772)
12×4032=2304×21(積是48384)
這種迴文算式,連乘積都是迴文數。
四位的迴文數有一個特點,就是它決不會是一個質數。設它為abba,那它等於a*1000+b*100+b*10+a,1001a+101b。能被11整除。
六位的也一樣,也能被11整除
還有,人們藉助電子計算機發現,在完全平方數、完全立方數中的迴文數,其比例要比一般自然數中迴文數所佔的比例大得多。例如11^2=121,22^2=484,7^3=343,11^3=1331,11^4=14641……都是迴文數。
人們迄今未能找到五次方,以及更高次冪的迴文數。於是數學家們猜想:不存在nk(k≥5;n、k均是自然數)形式的迴文數。
在電子計算器的實踐中,還發現了一樁趣事:任何一個自然數與它的倒序數相加,所得的和再與和的倒序數相加,……如此反復進行下去,經過有限次步驟後,最後必定能得到一個迴文數。
這也僅僅是個猜想,因為有些數並不「馴服」。比如說196這個數,按照上述變換規則重復了數十萬次,仍未得到迴文數。但是人們既不能肯定運算下去永遠得不到迴文數,也不知道需要再運算多少步才能最終得到迴文數。
2. c語言如何求迴文數
1、首先打開vc6.0,新建一個控制台項目。
3. 如何用c語言找出1~999中的所有迴文數
依照數學定義,可以得知1-999中的迴文數包括三類:
1 一位數。只有一位,每個都是迴文數。
2 兩位數。個位和十位相同的兩位數是迴文數,即形式為aa的兩位數,a值為1-9。
3 三位數。個位和百位相同的三位數都是迴文數,即形式為aba的三位數,a值為1-9,b值為0-9。
綜合以上規律,可以寫出以下程序:
#include<stdio.h>
intmain()
{
inti,j;
for(i=1;i<10;i++)
{
printf("%d,",i);//一位數
printf("%d%d,",i,i);//兩位數
for(j=0;j<10;j++)
printf("%d%d%d,",i,j,i);//三位數
printf(" ");//為方便閱讀結果,加一個換行。
}
return0;
}
該函數輸出為:
4. 用c語言寫迴文數,怎麼寫啊/急求!!
/編寫一個迴文數的程序c語言編程
#include <stdio.h>
void main()
{
int n, m=0, count=0;
printf("請輸入一個數:\n");
scanf("%d", &n);
for(n=1; n<=10000; n++)
{
while(n>0)
{
m=m*10+n%10;
n=n/10;
}
if(m==n)
{
count++;
printf("%3d", n);
}
if(count%5==0)
printf("\n");
}
}
我寫的是找出1到10000的迴文數,不過是在沒有vc++壞境下寫的,代碼還美調試,自己運行一下看看。
5. C語言怎麼判斷一個數是否是迴文數
所謂迴文數,就是說一個數字從左邊讀和從右邊讀的結果是一模一樣的,比如12321。
以下是判斷一個數是否為迴文數的代碼:
6. C語言 關於判斷迴文數的程序
1、首先打開vc6.0,新建一個控制台項目,添加頭文件。
7. c語言迴文數
#include<stdio.h>
#include<string.h>
#defineMAX100//預定義數組長度
intreverse(chara[])//判斷是否迴文,數字也當字元處理
{
intn=strlen(a);
inti;
for(i=0;i<n;i++)
{
if(a[i]!=a[n-i-1])
return0;//從首尾開始比較,有任一不相等,不是迴文,返回0
if(i==n-i-1)//全相等,是迴文。返回1
return1;
}
}
intmain(){
chara[MAX];
while(scanf("%s",a)!=EOF)//接受輸入CTRL+Z結束輸入
{
if(reverse(a))
printf("YES ");
else
printf("NO ");
}
return0;
}