高精度 Vijos P1010 清帝之惑之乾隆

2021-07-16 19:06:45 字數 1280 閱讀 5392

題目大意

多組資料,求r的n次冪(r為不超過9999.9的小數 n<=200)r保證佔6位

不輸出前導0和字尾0,整數就只輸出整數部分

題目思路:

【高精度】

直接用double算是肯定不行的。畢竟精度要求那麼高。

做法是先記下最終要輸出的小數字數,然後把這個小數放大到6位,接下來算個高精度的冪之後處理一下輸出就行了

//

//by cool***

//#include#include#include#include#include#include#include#include#include#include#include#define min(a,b) ((a)<(b)?(a):(b))

#define max(a,b) ((a)>(b)?(a):(b))

#define abs(a) ((a)>0?(a):(-(a)))

#define lowbit(a) (a&(-a))

#define sqr(a) (a)*(a)

#define swap(a,b) (a)^=(b),(b)^=(a),(a)^=(b)

#define eps 1e-8

#define max 0x7f7f7f7f

#define j 10

#define pi 3.1415926535897

#define n 1504

using namespace std;

int n,m,lll,ans,cas;

char s[10];

int a[n];

void gjdchengdjd()

while(a[a[0]+1])a[0]++;

while(!a[a[0]])a[0]--;

}int main()

lll*=n;

if(n==0)

a[0]=a[1]=1;

for(i=1;i<=n;i++)

gjdchengdjd();

for(i=1;i<=lll;i++)

if(a[i]==0)a[i]=-1;

else break;

if(a[0]>lll)

}else

puts("");

} return 0;}/*

////

*/

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

先貼乙個簡單的高精度除以單精度的 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 ...

高精度除高精度

演算法流程 第一步,讀入被除數 a 和 除數 b,判斷是否 a b,是則輸出 0 並結束演算法,否則令 answer 0 第二步,令餘數 remainder 0,令 i 從被除數最高位的下標開始 第三步,令 remainder remainder 10 a i 令 c 9 第四步,判斷是否 b c ...

高精度除以高精度

原 題 高精除以高精,求它們的商和餘數。演算法分析 高精除以高精是用減法模擬除法,對被除數的每一位都減去除數,一直減到當前位置的數字 包括前面的餘數 小於除數 由於每一位的數字小於10,所以對於每一位最多進行10次計算 代 碼 include include include using namesp...