機試 ProblemC(整數的最大素因子)

2021-09-24 13:06:13 字數 849 閱讀 6167

對於給定的字串行,從左至右將所有的數字字元取出拼接成乙個無符號整數(字串行長度小於100,拼接出的整數小於2^31,),計算並輸出該整數的最大素因子(如果是素數,則其最大因子為自身)

有多組資料,輸入資料的第一行為乙個正整數,表示字串行的數目,每組資料為一行字串行。

對每個字串行,取出所得整數的最大素因子,若字串行中沒有數字或者找出的整數為0,則輸出0,每個整數佔一行輸出。

3

sdf0ejg3.f?9f

?4afd0s&2d79*(g

abcde

13

8570

最大素因子的做法:除掉所有小於其算術平方根的質因子(注意比如100有2個2),比較最後結果和所記錄的最大質因子並返回。

#define _crt_secure_no_warnings

#include#includeusing namespace std;

int maxprime(int num)

} return num>max?num:max;

}int string2num(string s)

} return num;

}int main(void)

return 0;

}

特別記錄:用scanf讀入string踩坑

1. 對於 中的string型別,只有cin可以正確處理;

2. 必須使用scanf讀取string時,使用scanf("%s", a);,而非scanf("%s", &a[0]);,此時,若要使用cout輸出,必須使用cout《最好的方案:還是用cin和cout處理吧。

華為機試 整數相除

兩個整數相除,將結果用字串返回。如果是迴圈小數,將迴圈的位用括號括起來。函式原型為 void div const int a,const int b,char str 輸入 1 3 輸出 0.3 include includeusing namespace std int maxn 100 設定字串...

清華機試 整數拆分

題目描述 乙個整數總可以拆分為2的冪的和,例如 7 1 2 4 7 1 2 2 2 7 1 1 1 4 7 1 1 1 2 2 7 1 1 1 1 1 2 7 1 1 1 1 1 1 1 總共有六種不同的拆分方式。再比如 4可以拆分成 4 4,4 1 1 1 1,4 2 2,4 1 1 2。用f n...

Problem C 整數的封裝

time limit 1 sec memory limit 128 mb submit 1876 solved 739 submit status web board 現在,請編寫乙個integer類,將整數封裝起來。目前,只需要你來實現最基本的功能 1.具有2個建構函式 1 integer int...