題目大意:
多組資料,求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...