同步:
出自1.28的考試
描述如題目所屬
輸入乙個整數 n。
輸出n 的平方根下取整。
輸入範例 1
1
輸出範例 11
提示
對於 100%的資料,0首先看標題裡的乙個大大的水我就知道這是一道水題事情不簡單
慢速打了乙個普通的高精度。
後來發現每個點都有1000位。。。。
所以需要壓位,當然,開始我是不會的。兩天後的今天我終於寫了出來!
#include#define ll long long
#define max(a,b) ((a)>(b))?(a):(b)
#define min(a,b) ((a)
#define p 8//要壓的位數
#define carry 100000000//相應的10的p次方 用於進製
using namespace std;
const ll maxn=3005;
const string scarry="100000000";
struct bignum
putchar('\n');
} ll size(void)
friend bignum operator -(bignum a,bignum b)
else jw=0;
}if(jw)
c.siz=len;
return c;
} friend bignum operator*(bignum a,bignum b)
}while(len>0 && c.t[len]==0)len--;
c.siz=len;
return c;
} friend bignum operator/(bignum a,int b)
c.siz=a.siz;
while(c.siz>1&&c.t[c.siz]==0)c.siz--;
return c;
} friend bool operator ==(bignum a,bignum b)
for(ll i=1;i<=a.siz;++i)
}return 1;
} friend bool operator
}return 0;
} friend bool operator <=(bignum a,bignum b)
friend bool operator >(bignum a,bignum b)
for(ll i=a.size();i>=1;--i)
if(a.t[i]=(bignum a,bignum b)
else
} ans.print();
return 0;
}
居然有兩百多行。
功能全面(bushi),除了沒有高精度÷高精度。。。
寫出來之後一直wa,對拍都拍不出問題。。。
結果發現是交錯題了(捂臉)
壓位高精度模板
原先是整型陣列每個元素存1個數字,壓位高精是每位存8個數字,這樣可以加速8唄,空間也減小了。可謂是對整形陣列的充分利用。include include include include include include include include include include include in...
壓位高精度模板
不走程式,直接上板子。第乙個板子壓四位,支援帶符號的加減乘。第二個板子壓九位,支援不帶符號的四則運算和取模。都封裝了。include include include using namespace std struct intx bool operator const intx b const bo...
壓位高精度的寫法
2020 06 10 修正 html 原始碼 2021 12 25 發現這篇隨筆閱讀量破千了,二次修正 html 原始碼,並做了相關補充 壓位高精度的寫法 對於單位高精度演算法,那麼有沒有可以加速 節省空間的做法呢?顯然是有的。以前,存數字陣列裡面只存著乙個數字,所以加減都是一位一位地加,進製也是一...