Advertisement
a53

determinantb

a53
Dec 17th, 2021
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. #include <fstream>
  2. #include <cmath>
  3. using namespace std;
  4. short int n,v[1001];
  5. unsigned short int dimD=1;
  6. #define NMax 100000
  7. #define B 1000
  8. typedef unsigned short int Huge[NMax+3];
  9.  
  10. void inmultire(Huge A,short int n)
  11. {
  12. unsigned short int i;
  13. unsigned int t=0;
  14. for(i=1;i<=dimD||t;++i,t/=B)
  15. A[i]=(t+=A[i]*n)%B;
  16. dimD=(int)i-1;
  17. }
  18.  
  19. int main()
  20. {
  21. ifstream fin("determinantb.in");
  22. fin>>n;
  23. for(short int i=1;i<=n;++i)
  24. fin>>v[i];
  25. ofstream fout("determinantb.out");
  26. if(n>201)
  27. {
  28. fout<<"0\n";
  29. return 0;
  30. }
  31. Huge D;
  32. D[1]=1;
  33. short int semn=1;
  34. for(short int i=1;i<n;++i)
  35. for(short int j=i+1;j<=n;++j)
  36. {
  37. if(v[j]<v[i])
  38. semn*=-1;
  39. inmultire(D,abs(v[j]-v[i]));
  40. }
  41. if(semn==-1)
  42. fout<<'-';
  43. for(int i=dimD;i>0;--i)
  44. {
  45. if(i!=dimD)
  46. {
  47. if(D[i]<10)
  48. fout<<"00"<<D[i];
  49. else
  50. {
  51. if(D[i]<100)
  52. fout<<"0"<<D[i];
  53. else
  54. fout<<D[i];
  55. }
  56. }
  57. else
  58. fout<<D[i];
  59. }
  60. return 0;
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement