㈠ c語言怎麼判斷一個數是否是迴文數
所謂迴文數,就是說一個數字從左邊讀和從右邊讀的結果是一模一樣的,比如12321。
以下是判斷一個數是否為迴文數的代碼:
㈡ C語言求迴文數
#include <stdio.h>
int func(int n)
{
int t;
for(t=0;n;n/=10)
t=t*10+n%10;
return t;
}
int main()
{
int i;
for(i=200;i<=3000;++i)
if(func(i)==i)
printf("%d ",i);
return 0;
}
㈢ 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這個數,按照上述變換規則重復了數十萬次,仍未得到迴文數。但是人們既不能肯定運算下去永遠得不到迴文數,也不知道需要再運算多少步才能最終得到迴文數。
㈣ c語言判斷是否為迴文
首先清楚什麼是迴文。。。我們稱正讀和反讀都相同的字元序列為「迴文」,如「abba」、「abccba」、12321、123321是「迴文」。
然後再看程序,把長度為n的字元串的每一個字元排下標,即從0到n-1,要判斷是否迴文,就是把一串字母進行前後比對,即下標0的字元和下標為n-1的字元,1與n-2,2與n-3。。。
for
(i
=
0;
i
<
len
/
2;
i++)
{
if
(str[i]
!=
str[len-1-i])
{
break;
{{{{這里是什麼意思啊}}}}}}
//
這里是判斷不符號迴文的情況,只要兩個字元不符合,那這整個字元串就不是,所以break跳出循環判斷
}
}
if
(i
==
len
/
2)
{{{{我不懂這里是什麼意思}}}}}}
//
長度為n的字元串最多隻能比對len
/
2次,那麼如果每對都符合,那就是迴文啦
{
printf(「%s
shi
hui
wen.\n「,
str);
}
㈤ 【二級C語言】判斷是否為一個迴文序列
修改如下:
int fun(char *str)
{
char temp,str1[N];
int i,len;
len=strlen(str);
for(i=0; i<len; i++)str1[i]=str[len-i-1];
str1[i]='\0';
for(i=0; i<len; i++)
{
if(str[i]>='a' && str[i]<='z')str[i]=str[i]-32;
}
for(i=0; i<len; i++)
{
if(str1[i]>='a' && str1[i]<='z')str1[i]=str1[i]-32;
}
if(strcmp(str1,str)==0)return 1;
return 0;
}
㈥ c語言如何求迴文數
1、首先打開vc6.0,新建一個控制台項目。