上海交通大學計算機研究生復試題 回文數

2021-08-30 04:28:52 字數 1105 閱讀 4400

問題 c: 回文數

時間限制: 1 sec 記憶體限制: 128 mb

題目描述

若乙個數(首位不為零)從左向右讀與從右向左讀都一樣,我們就將其稱之為回文數。

例如:給定乙個10進製數56,將56加65(即把56從右向左讀),得到121是乙個回文數。

又如:對於10進製數87:

step1:87+78 = 165 step2:165+561 = 726

step3:726+627 = 1353 step4:1353+3531 = 4884

在這裡的一步是指進行了一次n進製的加法,上例最少用了4步得到回文數4884。

輸入第一行是整數n(2<=n<=10或n=16),表是這個數的進製;

第二行是n進製數m(100位之內),求最少經過幾步可以得到回文數。

輸出若最少在30步以內得到回文數,則輸出步數;

如果在30步以內(包含30步)不可能得到回文數,則輸出「impossible」(無引號)

樣例輸入

1087

樣例輸出4提示

十六進製制的10-15用a-f表示

c++**如下:

#include #include using namespace std;

int radix, n,i, sum=0, a[1001];

string s;

//判斷是否是回文數

bool palindromic(int n)

//兩數相加

int add(int n)

;//定義臨時陣列,表示兩數的和

for (i = 1; i <= n; i++)//進製數相加

if (c[n + 1])//保留進製

n++;

for (i = n; i >= 1; i--)

return n;

}int main()

while (sum <= 30)

sum++;

n = add(n);

}cout << "impossible!" << endl;

return 0;

}

2023年上海交通大學計算機研究生機試真題

題目描述 有乙個6 6的棋盤,每個棋盤上都有乙個數值,現在又乙個起始位置和終止位置,請找出乙個從起始位置到終止位置代價最小的路徑 1 只能沿上下左右四個方向移動 2 總代價是沒走一步的代價之和 3 每步 從a,b到c,d 的代價是c,d上的值與其在a,b上的狀態的乘積 4 初始狀態為1 每走一步,狀...

2023年上海交通大學計算機研究生機試真題

題目描述 對於乙個字串,將其字尾子串進行排序,例如grain 其子串有 grain rain ain in n 然後對各子串按字典順序排序,即 ain,grain,in,n,rain 輸入 每個案例為一行字串。輸出 將子串排序輸出 樣例輸入 grain 樣例輸出 ain graininn rain ...

上海交通大學復試題 最短路徑

上海交通大學復試題 最短路徑 時間限制 1秒 空間限制 65536k 熱度指數 3277 n個城市,標號從0到n 1,m條道路,第k條道路 k從0開始 的長度為2 k,求編號為0的城市到其他城市的最短距離 第一行兩個正整數n 2 n 100 m m 500 表示有n個城市,m條道路 接下來m行兩個整...