高精度 乘積根

2022-08-29 07:54:11 字數 1124 閱讀 1713

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

提交: 11  解決: 4

[提交] [狀態] [討論版] [命題人:外部匯入]

題目描述

乙個整數的數字乘積根是這樣得到的:將此整數中的非零數字相乘,得到的結果再重複上述運算,直到只有一位數為止,此一位數即為原整數的數字乘積根。例如:整數99,99--9×9=81--8×1=8,8即為99的乘積根。

輸入乙個n位的整數(n≤255)。

輸出有若干行,每行顯示每次數字相乘之後的結果,最後一行只有乙個一位數,即n的乘積根。

樣例輸入

99

樣例輸出
81

8注意!!!!是非零數字相乘!!

1 #include 2 #include

3 #include4

using

namespace

std;

5int n,a[100005],b[100005],c[100005];6

string fun_multi(string s,chart)7

13 memset(c,0,sizeof

(c));

14int len1=s.size(),w=0,n=t-'0'

;15for(int i=len1-1;i>=0;i--) a[len1-i-1]=s[i]-'0'

;16for(int i=0;i)

1722

if(w) c[len1]=w,len1++;

23//

while(!c[len1]) len1--;

24for(int i=len1-1;i>=0;i--)

25 ans+=c[i]+'0'

;26return

ans;27}

28string fun(string

s)29

40return

ans;41}

42int

main()

4353

while(len!=1)54

59//

cout<60

return0;

61 }

view code

高精度 大整數開根

二分法 include include include using namespace std int n,nlen char str 22 int c 1000 int a 1000 b 1000 d 1000 int isok int len for i 0 ifor j 0 j2 len 1 ...

高精度除法(高精度除以高精度)

先貼乙個簡單的高精度除以單精度的 include include include using namespace std int main else ys ys 10 a i 0 while c i 0 i for int j i j 0 j printf d c j if ys printf d ...

HNOI2004 高精度開根

題目 洛谷p2293 bzoj1213。題目大意 給你 n,k n leq 10 k leq 50 求 lfloor sqrt k rfloor 解題思路 高精度 二分 快速冪。我壓了九位。這題真的卡的我喪心病狂啊!開始無腦高精度,後來t的不知道哪去了。首先高精度乘法中除法取模運算特別慢,要放在乘完...