高數尋找原函數?一個正整數,如果從左向右讀(稱之為正序數)和從右向左讀(稱之為倒序數)是一樣的,這樣的數就叫回文數任取一個正整數,如果不是回文數,将該數與他的倒序數相加,若其和不是回文數,則重複上述步驟,一直到獲得回文數為止例如:68變成154(68 86),再變成605(154 451),最後變成1111(605 506),而1111是回文數于是有數學家提出一個猜想:不論開始是什麼正整數,在經過有限次正序數和倒序數相加的步驟後,都會得到一個回文數至今為止還不知道這個猜想是對還是錯現在請你編程序驗證之你已經會寫求一個整數的逆序數的函數inverse(),那麼如下循環可以模拟回文數猜想的驗證過程: while( m = inverse(n), m != n) { 輸出n; 把n更新為 m n; },今天小編就來說說關于高數尋找原函數?下面更多詳細答案一起來看看吧!
一個正整數,如果從左向右讀(稱之為正序數)和從右向左讀(稱之為倒序數)是一樣的,這樣的數就叫回文數。任取一個正整數,如果不是回文數,将該數與他的倒序數相加,若其和不是回文數,則重複上述步驟,一直到獲得回文數為止。例如:68變成154(68 86),再變成605(154 451),最後變成1111(605 506),而1111是回文數。于是有數學家提出一個猜想:不論開始是什麼正整數,在經過有限次正序數和倒序數相加的步驟後,都會得到一個回文數。至今為止還不知道這個猜想是對還是錯。現在請你編程序驗證之。你已經會寫求一個整數的逆序數的函數inverse(),那麼如下循環可以模拟回文數猜想的驗證過程: while( m = inverse(n), m != n) { 輸出n; 把n更新為 m n; }
輸入輸入一個正整數。特别說明:輸入的數據保證中間結果小于2^31。
輸出輸出占一行,變換的過程中得到的數值,兩個數之間用空格隔開。
樣例輸入
27228
27228 109500 115401 219912
程序中要定義函數 int inverse(int n)
代碼
#include<stdio.h>
#include<math.h>
int inverse(int n)
{
int t,i,a[10],x=0,sum=0;
t=log10(n) 1;
for(i=0;i<t;i )
{
a[i]=n;
n=n/10;
}
for(i=0;i<t;i )
{
x=a[i];
sum=(sum x)*10;
}
sum=sum/10;
return sum;
}
int main()
{
int m,n;
scanf_s("%d",&n);
while(m=inverse(n),m!=n)
{
printf("%d ",n);
n=m n;
}
printf("%d",n);
return 0;
}
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!