當前位置:首頁 » 編程語言 » c語言迴文數猜想

c語言迴文數猜想

發布時間: 2022-03-12 22:16:41

c語言求迴文數

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
inti,len,flag,cnt=1,num,numrev,addnum;
charstr[20]={0},strRev[20]={0},hui[20]={0};
gets(str);//輸入數字以字元串方式接收
num=atoi(str);//轉為數字
strcpy(strRev,strrev(str));//將接收的字元串逆序
numrev=atoi(strRev);//轉換成逆序的數字
while(1)
{
addnum=num+numrev;//兩個數字相加
printf("STEP%d:%d+%d=%d ",cnt,num,numrev,addnum);//輸出
itoa(addnum,hui,10);//將相加後的數字轉為字元串
len=strlen(hui);//求長度
flag=0;//標識是否是迴文
for(i=0;i<len;i++)//判斷是否迴文
{
if(hui[i]!=hui[len-i-1])
{
flag=1;//如果不是迴文繼續
break;
}
}
if(!flag)//根據上面標識符判斷是否迴文
{
printf("%d%d ",cnt,addnum);//是戶
break;
}elseif(cnt++>=30)//判斷是否大於等於30次
{
printf("0 ");
break;
}
num=addnum;//將和作為下次運算的第一個數字
strcpy(strRev,strrev(itoa(num,str,10)));//根據第一個數逆序出第二個數
numrev=atoi(strRev);//字元串轉數字
}
}

Ⅱ C語言怎麼判斷一個數是否是迴文數

所謂迴文數,就是說一個數字從左邊讀和從右邊讀的結果是一模一樣的,比如12321。

以下是判斷一個數是否為迴文數的代碼:

Ⅲ c語言如何求迴文數

1、首先打開vc6.0,新建一個控制台項目。

Ⅳ 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;
}

Ⅳ c語言求迴文數

任取一個十進制整數,用下面的方法可以求出一個迴文數:

把這個數字的各個位,顛倒前後位置,形成一個新數,再和原數相加,得到的和,就可能是一個迴文數。

如果不是迴文數,就再重復上述的步驟,則最終可得到迴文數。

Ⅵ 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語言。迴文數猜測。下面是問題和程序。看程序哪裡有問題。

一個小錯誤。
nixu函數里
s=s+b*x/a;
改成
s=s+b*(x/a);

比如nixu(121)的話,while(l<i)執行到第2步時,a,b為10,s=1+10*21/10=22,而實際上這時候s應該等於21,原因就是這時候應該取121的十位2,變成20,加到s上,而你先乘10的話,210/10就得到21了,把個位的1也算上了。

Ⅷ [求代碼]C語言——迴文數猜測-分支循環小綜合

#include <stdio.h>
#include<string.h>
#define N 80
int fun(char *str)
{
char a[N],b[N];
int i=0,j=0;
while(*str)
a[i++]=*str++;
a[i]='\0';
while(i>0)
b[j++]=a[--i];
b[j]='\0';
return (strcmp(a,b)==0);
}

這個是迴文數的函數,剩下的你可以自己試著寫寫看

Ⅸ c語言中如何構造迴文數

題目要求不是很明確,你的迴文數,是單個int,還是int數組,還是字串
以下是數組的
#include<stdio.h>
void fun(int a[ ], int n)
{
int i , t;
for(i=0; i<n/2; i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
}
main( )
{ int b[9]={1, 2, 3, 4, 5, 6, 7, 8, 9}, i;
fun(b, 9);
printf("The data after inverting: \n");
for(i=0; i<9; i++)
printf("%4d", b[i] );
printf("\n");
}

Ⅹ C語言中的迴文數的猜想實驗報告(詳細)

試驗內容:
從鍵盤輸入不超過五位整數的N,得其逆序數然後與原數相加,直到所得數為迴文數,運算次數為TIME所得迴文數為SUM,運算次數少於1000次且所得迴文數大於100.,運行並試驗。
程序代碼:
#include "stdio.h"
void main()
{int a,b,x,y,z,i;
b=0,i=1;
printf("please input a number(1—100000):");
scanf("%d",&a);
x=a;
while(a>0)
{b=a%10+b*10;
a=a/10;}
for(z=x;i<1000;i++)
{y=z+b; /*qiu N yu N de xushu de he*/
b=0;
z=y;
while(y>0)
{b=y%10+b*10;
y=y/10;}
if(z==b&&b>100)
{printf("N=%d.SUM= %d.time=%d\n",x,b,i);break;} }
if(z!=b)
printf("%d is not a reply counts\n",x); /*dang yun xing 1000 ci hou reng bu wei huiwen shu */
printf(「\n*******************************************************\n」);}

熱點內容
linux的路徑怎麼寫 發布:2025-01-15 17:18:49 瀏覽:185
php解壓程序 發布:2025-01-15 17:06:22 瀏覽:142
刷助力腳本 發布:2025-01-15 17:02:31 瀏覽:520
c盤里的用戶文件夾可以刪除 發布:2025-01-15 16:56:45 瀏覽:951
虛幻4編譯到哪裡 發布:2025-01-15 16:50:19 瀏覽:756
透明度漸變android 發布:2025-01-15 16:45:08 瀏覽:835
dos連接oracle資料庫 發布:2025-01-15 16:41:39 瀏覽:906
網路配置比較低怎麼做 發布:2025-01-15 16:35:38 瀏覽:362
android彈出鍵盤監聽 發布:2025-01-15 16:35:11 瀏覽:208
uz畫圖編程 發布:2025-01-15 16:32:44 瀏覽:884