【SinGuLaRiTy-1042】 Copyright (c) SinGuLaRiTy 2017. All Rights Reserved.

结构体封装

  1. //高精度运算 注意%I64d与%lld
  2. #define LL long long int
  3. struct bignum
  4. {
  5. LL num[MAXN] ;
  6. void init()
  7. {
  8. memset(num,,sizeof num);
  9. }
  10.  
  11. bool operator < (const bignum &a)const
  12. {
  13. if(num[]!=a.num[])return num[]<a.num[];
  14. for(int i=num[];i>;--i)
  15. if(num[i]!=a.num[i])
  16. return num[i]<a.num[i];
  17. return ;
  18. }
  19.  
  20. void operator += (const LL &a)
  21. {
  22. num[]+=a ;
  23. for(int i=;i<=num[];++i)
  24. {
  25. num[i+]+=num[i]/mod;
  26. num[i]%=mod;
  27. }
  28. while(num[num[]+]>)++num[];
  29. }
  30.  
  31. bignum operator + (const LL a)const
  32. {
  33. bignum temp=*this;
  34. temp+=a;
  35. return temp ;
  36. }
  37.  
  38. void operator += (const bignum &a)
  39. {
  40. num[]=max(num[],a.num[]);
  41. for(int i=;i<=num[];++i)
  42. {
  43. num[i]+=a.num[i];
  44. num[i+]+=num[i]/mod;
  45. num[i]%=mod;
  46. }
  47. while(num[num[]+]>)++num[];
  48. }
  49.  
  50. bignum operator + (const bignum &a)const
  51. {
  52. bignum temp=*this;
  53. temp+=a;
  54. return temp;
  55. }
  56.  
  57. void operator -= (const LL &a)
  58. {
  59. num[]-=a;
  60. for(int i=;num[i]<&&i<=num[];++i)
  61. while(num[i]<)
  62. {
  63. num[i]+=mod;
  64. --num[i+];
  65. }
  66. while(num[num[]]<=&&num[]>)--num[];
  67. }
  68.  
  69. bignum operator - (const LL &a)const
  70. {
  71. bignum temp=*this;
  72. temp-=a;
  73. return temp ;
  74. }
  75.  
  76. void operator -= (const bignum &a)
  77. {
  78. for(int i=;i<=num[];++i)
  79. {
  80. num[i]-=a.num[i];
  81. while(num[i]<)
  82. {
  83. num[i]+=mod ;
  84. --num[i+];
  85. }
  86. }
  87. while(num[num[]]<=&&num[]>)--num[];
  88. }
  89.  
  90. bignum operator - (const bignum &a)const
  91. {
  92. bignum temp=*this;
  93. temp-=a;
  94. return temp;
  95. }
  96.  
  97. void operator *= (const LL &a)
  98. {
  99. for(int i=;i<=num[];++i)
  100. num[i]*=a;
  101. for(int i=;i<=num[];++i)
  102. {
  103. num[i+]+=num[i]/mod;
  104. num[i]%=mod;
  105. }
  106. }
  107.  
  108. bignum operator * (const LL &a)const
  109. {
  110. bignum temp=*this;
  111. temp*=a;
  112. return temp;
  113. }
  114.  
  115. bignum operator * (const bignum &a)const
  116. {
  117. bignum c;
  118. c.init();
  119. c.num[]=num[]+a.num[]-;
  120. for(int i=;i<=num[];++i)
  121. for(int j=;j<=a.num[];++j)
  122. c.num[i+j-]+=num[i]*a.num[j];
  123. for(int i=;i<=c.num[];++i)
  124. {
  125. c.num[i+]+=c.num[i]/mod;
  126. c.num[i]%=mod;
  127. }
  128. while(c.num[c.num[]+]>)
  129. {
  130. ++c.num[];
  131. c.num[c.num[]+]+=c.num[c.num[]]/mod;
  132. c.num[c.num[]]%=mod;
  133. }
  134. return c;
  135. }
  136.  
  137. void operator *= (const bignum &a)
  138. {
  139. bignum c=*this;
  140. c=c*a;
  141. *this=c;
  142. }
  143.  
  144. void operator /= (const LL &a)
  145. {
  146. for(int i=num[];i>;--i)
  147. {
  148. num[i-]+=(num[i]%a*mod);
  149. num[i]/=a;
  150. }
  151. num[]/=a;
  152. while(num[]>&&num[num[]]<=)--num[];
  153. }
  154.  
  155. bignum operator / (const LL &a)const
  156. {
  157. bignum temp=*this ;
  158. temp/=a;
  159. return temp;
  160. }
  161.  
  162. void operator %= (const LL &a)
  163. {
  164. bignum temp=*this;
  165. temp=temp-temp/a*a;
  166. *this=temp;
  167. }
  168.  
  169. bignum operator % (const LL &a)const
  170. {
  171. bignum temp=*this;
  172. temp%=a;
  173. return temp;
  174. }
  175.  
  176. void operator /=(const bignum &a){
  177. bignum l ,m ,r =*this;
  178. l.init();
  179. l.num[]= ;
  180. while(l<r)
  181. {
  182. m=(l+r+)/;
  183. if(*this<(a*m)) r=m-;
  184. else l=m;
  185. }
  186. *this=l;
  187. }
  188.  
  189. bignum operator / (const bignum &a)const
  190. {
  191. bignum temp=*this;
  192. temp/=a;
  193. return temp;
  194. }
  195.  
  196. void operator %= (const bignum &a)
  197. {
  198. bignum c=*this;
  199. c=c-c/a*a;
  200. *this=c;
  201. }
  202.  
  203. bignum operator % (const bignum &a)const
  204. {
  205. bignum c=*this;
  206. c%=a;
  207. return c;
  208. }
  209.  
  210. void read()
  211. {
  212. scanf("%s",word);
  213. int len=strlen(word) ;
  214. for(int i=;i<len;++i)
  215. num[(len-i-)/+]=num[(len-i-)/+]*+word[i]-'' ;
  216. num[]=(len-)/+ ;
  217. }
  218. void put()
  219. {
  220. printf("%I64d",num[num[]]);
  221. for(int i=num[]-;i>;--i)
  222. printf("%08I64d",num[i]);
  223. puts("");
  224. }
  225. }

Main函数单独封装

加法

  1. #include<stdio.h>
  2. #include<string.h>
  3. char a[],b[];
  4. char c[];
  5. int i;
  6. void swap(char a[])
  7. {
  8. char tmp;
  9. for(int i=;i<strlen(a)/;i++)
  10. {
  11. tmp=a[i];
  12. a[i]=a[strlen(a)--i];
  13. a[strlen(a)--i]=tmp;
  14. }
  15. }
  16. void add(char a[],char b[])
  17. {
  18. for(i=;i<strlen(a)&&i<strlen(b);i++)
  19. {
  20. c[i]+=a[i]+b[i]-'';
  21. if(c[i]-''>=)
  22. {
  23. c[i]=c[i]-;
  24. c[i+]=;
  25. }
  26. }
  27. if(strlen(a)==strlen(b))
  28. if(c[i]==)
  29. c[i]='';
  30. if(strlen(a)>strlen(b))
  31. {
  32. if(c[i]==)
  33. {
  34. for(;i<strlen(a);i++)
  35. {
  36. c[i]+=a[i];
  37. if(c[i]-''>=)
  38. {
  39. c[i]=c[i]-;
  40. c[i+]=;
  41. }
  42. }
  43. if(c[i-]=='')
  44. c[i]='';
  45. }
  46. else
  47. for(;i<strlen(a);i++)
  48. c[i]=a[i];
  49. }
  50. if(strlen(b)>strlen(a))
  51. {
  52. if(c[i]==)
  53. {
  54. for(;i<strlen(b);i++)
  55. {
  56. c[i]+=b[i];
  57. if(c[i]-''>=)
  58. {
  59. c[i]=c[i]-;
  60. c[i+]=;
  61. }
  62. }
  63. if(c[i]==)
  64. c[i]='';
  65. }
  66. else
  67. for(;i<strlen(b);i++)
  68. c[i]=b[i];
  69. }
  70. }
  71. int main()
  72. {
  73. scanf("%s",a);
  74. scanf("%s",b);
  75. swap(a);
  76. swap(b);
  77. add(a,b);
  78. swap(c);
  79. printf("%s",c);
  80. return ;
  81. }

减法

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<cstdlib>
  5. #include<cmath>
  6. #include<algorithm>
  7. using namespace std;
  8. char a[],b[];
  9. int a1[],b1[];
  10. int c[];
  11. int i,j,al,bl,l;
  12. int main()
  13. {
  14. scanf("%s",a);
  15. scanf("%s",b);
  16. al=strlen(a);
  17. bl=strlen(b);
  18. l=al>bl?al:bl;
  19. for(i=;i<al;i++)
  20. a1[al-i-]=a[i];
  21. for(i=;i<bl;i++)
  22. b1[bl-i-]=b[i];
  23. for(i=l-;i>=;i--)
  24. {
  25. if(al>bl || a1[i]>b1[i])
  26. {
  27. for(j=;j<l;j++){
  28. c[j]=a1[j]-b1[j]+'';
  29. if(b1[j]==)
  30. c[j]-='';
  31. }
  32. for(j=;j<l-;j++)
  33. if(c[j]<'')
  34. {
  35. c[j]+=;
  36. c[j+]--;
  37. }
  38. while(c[l-]==''&&l!=)
  39. l--;
  40. for(j=l-;j>=;j--)
  41. printf("%c",c[j]);
  42. break;
  43. }
  44. if(al<bl||a1[i]<b1[i])
  45. {
  46. for(j=;j<l;j++)
  47. {
  48. c[j]=b1[j]-a1[j]+'';
  49. if(a1[j]==)
  50. c[j]-='';
  51. }
  52. for(j=;j<l-;j++)
  53. if(c[j]<'')
  54. {
  55. c[j]+=;
  56. c[j+]--;
  57. if(c[j+]==''&&j+==l-)
  58. l--;
  59. }
  60. while(c[l-]==''&&l!=)
  61. l--;
  62. printf("-");
  63. for(j=l-;j>=;j--)
  64. printf("%c",c[j]);
  65. break;
  66. }
  67. }
  68. return ;
  69. }

乘法

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. using namespace std;
  5. int jw,sum,ac,bc,k;
  6. int a,b,ans[];
  7. string A;
  8. string B;
  9. int main()
  10. {
  11. cin>>A>>B;
  12. ac=A.size()-;
  13. bc=B.size()-;
  14. for(int i=;i<=ac;i++)
  15. {
  16. a=A[ac-i]-'';
  17. for(int j=;j<=bc;j++)
  18. {
  19. k=i+j;
  20. b=B[bc-j]-'';
  21. ans[k]+=a*b;
  22. if(ans[k]>=)
  23. {
  24. ans[k+]+=ans[k]/;
  25. ans[k]%=;
  26. }
  27. }
  28. }
  29. if(ans[k+]>)
  30. k++;
  31. for(int i=k;i>=;i--)
  32. cout<<ans[i];
  33. return ;
  34. }

开方

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<cstdlib>
  4. #include<cmath>
  5. #include<algorithm>
  6. #include<iostream>
  7. int l;
  8. int work(int o,char *O,int I)
  9. {
  10. char c,*D=O ;
  11. if(o>)
  12. {
  13. for(l=;D[l];D[l++]-=)
  14. {
  15. D[l++]-=;
  16. D[l]-=;
  17. while(!work(,O,l))
  18. D[l]+=;
  19. putchar((D[l]+)/);
  20. }
  21. putchar();
  22. }
  23. else
  24. {
  25. c=o+(D[I]+)%-(I>l/)*(D[I-l+I]+)/-;
  26. D[I]+=I< ? : !(o=work(c/,O,I-))*((c+)%-(D[I]+)%);
  27. }
  28. return o;
  29. }
  30. int main()
  31. {
  32. char s[];
  33. s[]='';
  34. scanf("%s",s+);
  35. if(strlen(s)%==)
  36. work(,s+,);
  37. else
  38. work(,s,);
  39. return ;
  40. }

整数除法

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<cstdlib>
  4. #include<cmath>
  5. #include<algorithm>
  6. #include<iostream>
  7. using namespace std;
  8. char s1[],s2[];
  9. int a1[],a2[],a3[],a4[],len1,len2,len3,i,j;
  10. int bi(int a3[],int a4[])
  11. {
  12. if(a3[]<a4[])
  13. return ;
  14. if(a3[]>a4[])
  15. return ;
  16. for(int i=a3[];i>;i--)
  17. {
  18. if(a3[i]<a4[i])
  19. return ;
  20. if(a3[i]>a4[i])
  21. return ;
  22. }
  23. return ;
  24. }
  25. int jian(int a3[],int a4[])
  26. {
  27. for(int i=;i<=a3[];i++)
  28. {
  29. if(a3[i]<a4[i])
  30. {
  31. a3[i]+=;
  32. a3[i+]--;
  33. }
  34. a3[i]-=a4[i];
  35. }
  36. for(;a3[a3[]]==&&a3[]>;a3[]--);
  37. }
  38. int main()
  39. {
  40. scanf("%s",s1);
  41. scanf("%s",s2);
  42. len1=strlen(s1);
  43. len2=strlen(s2);
  44. for(i=;i<len1;i++)
  45. a1[len1-i]=s1[i]-'';
  46. for(i=;i<len2;i++)
  47. a2[len2-i]=s2[i]-'';
  48. a1[]=len1;
  49. a2[]=len2;
  50. a4[]=a1[]-a2[]+;
  51. for(i=a4[];i>;i--)
  52. {
  53. memset(a3,,sizeof(a3));
  54. for(j=;j<=a2[];j++)
  55. a3[j+i-]=a2[j];
  56. a3[]=a2[]+i-;
  57. for(;bi(a1,a3);)
  58. {
  59. a4[i]++;
  60. jian(a1,a3);
  61. }
  62. }
  63. for(;a4[a4[]]==&&a4[]>;a4[]--);
  64. for(i=a4[];i>;i--)
  65. printf("%d",a4[i]);
  66. return ;
  67. }

高精度非整除求余数除法

  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. int a[],b[],c[];
  5. int d,i;
  6. void init(int a[])
  7. {
  8. string s;
  9. cin>>s;
  10. a[]=s.length();
  11. for(i=;i<=a[];i++)
  12. {
  13. a[i]=s[a[]-i]-'';
  14. }
  15. }
  16. void print(int a[])
  17. {
  18. int i;
  19. if(a[]==)
  20. {
  21. cout<<<<endl;
  22. return;
  23. }
  24. for(i=a[];i>;i--)
  25. {
  26. cout<<a[i];
  27. }
  28. cout<<endl;
  29. return;
  30. }
  31. int compare(int a[],int b[])
  32. {
  33. int i;
  34. if(a[]>b[])
  35. return ;
  36. if(a[]<b[])
  37. return -;
  38. for(i=a[];i>;i--)
  39. {
  40. if(a[i]>b[i])
  41. return ;
  42. if(a[i]<b[i])
  43. return -;
  44. }
  45. return ;
  46. }
  47. void subtraction(int a[],int b[])
  48. {
  49. int flag,i;
  50. flag=compare(a,b);
  51. if(flag==)
  52. {
  53. a[]=;
  54. return;
  55. }
  56. if(flag==)
  57. {
  58. for(i=;i<=a[];i++)
  59. {
  60. if(a[i]<b[i])
  61. {
  62. a[i+]--;
  63. a[i]+=;
  64. }
  65. a[i]-=b[i];
  66. }
  67. while(a[]>&&a[a[]]==)
  68. a[]--;
  69. return;
  70. }
  71. }
  72. void numcpy(int p[],int q[],int det)
  73. {
  74. for(int i=;i<=p[];i++)
  75. {
  76. q[i+det-]=p[i];
  77. }
  78. q[]=p[]+det-;
  79. }
  80. void Division(int a[],int b[],int c[])
  81. {
  82. int i,tmp[];
  83. c[]=a[]-b[]+;
  84. for(i=c[];i>;i--)
  85. {
  86. memset(tmp,,sizeof(tmp));
  87. numcpy(b,tmp,i);
  88. while(compare(a,tmp)>=)
  89. {
  90. c[i]++;
  91. subtraction(a,tmp);
  92. }
  93. }
  94. while(c[]>&&c[c[]]==)
  95. c[]--;
  96. return;
  97. }
  98. int main()
  99. {
  100. memset(a,,sizeof(a));
  101. memset(b,,sizeof(a));
  102. memset(c,,sizeof(a));
  103. init(a);
  104. init(b);
  105. Division(a,b,c);
  106. print(c);
  107. print(a);
  108. return ;
  109. }

*四则高精度混合运算

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<cstring>
  4. #include<algorithm>
  5. using namespace std;
  6. #define MAXN 1000
  7. struct hp{
  8. int a[MAXN+];
  9. hp(){
  10. memset(a,,sizeof a);
  11. a[]=;
  12. }
  13. hp(int n){
  14. memset(a,,sizeof a);
  15. a[]=;
  16. while(n){
  17. a[++a[]]=n%;
  18. n/=;
  19. }
  20. if(!a[])
  21. a[]=;
  22. }
  23. hp(char *s){
  24. memset(a,,sizeof a);
  25. int len=strlen(s);
  26. for(int i=;i<=len;i++)
  27. a[i]=s[len-i]-'';
  28. a[]=len;
  29. }
  30. hp operator*(const hp &b)const{
  31. hp c;
  32. int i,j,len=a[]+b.a[];
  33. for(i=;i<=a[];i++)
  34. for(j=;j<=b.a[];j++)
  35. c.a[i+j-]+=a[i]*b.a[j];
  36. for(i=;i<len;i++){
  37. c.a[i+]+=c.a[i]/;
  38. c.a[i]%=;
  39. }
  40. while(len>&&!c.a[len])
  41. len--;
  42. c.a[]=len;
  43. return c;
  44. }
  45. hp operator/(int b)const{
  46. hp c;
  47. int d=,i,len=a[];
  48. for(i=a[];i;i--){
  49. d=d*+a[i];
  50. c.a[i]=d/b;
  51. d%=b;
  52. }
  53. while(len>&&!c.a[len])
  54. len--;
  55. c.a[]=len;
  56. return c;
  57. }
  58. hp operator+(const hp &b)const{
  59. hp c;
  60. int len=max(a[],b.a[]),i;
  61. for(i=;i<=len;i++){
  62. c.a[i]+=a[i]+b.a[i];
  63. c.a[i+]=c.a[i]/;
  64. c.a[i]%=;
  65. }
  66. len++;
  67. while(len>&&!c.a[len])
  68. len--;
  69. c.a[]=len;
  70. return c;
  71. }
  72. hp operator-(const hp &b)const{
  73. hp c;
  74. int i,len=a[];
  75. for(i=;i<=len;i++){
  76. c.a[i]+=a[i]-b.a[i];
  77. if(c.a[i]<)
  78. c.a[i]+=,c.a[i+]--;
  79. }
  80. while(len>&&!c.a[len])
  81. len--;
  82. c.a[]=len;
  83. return c;
  84. }
  85. void operator*=(const hp &x){
  86. *this=*this*x;
  87. }
  88. void operator/=(const int &x){
  89. *this=*this/x;
  90. }
  91. void operator+=(const hp &x){
  92. *this=*this+x;
  93. }
  94. void operator-=(const hp &x){
  95. *this=*this-x;
  96. }
  97. void print(){
  98. for(int i=a[];i;i--)
  99. printf("%d",a[i]);
  100. }
  101. bool operator>(const hp&b)const{
  102. if(a[]>b.a[])
  103. return ;
  104. if(a[]<b.a[])
  105. return ;
  106. for(int i=a[];i;i--)
  107. if(a[i]>b.a[i])
  108. return ;
  109. else if(a[i]<b.a[i])
  110. return ;
  111. return ;
  112. }
  113. bool operator<(const hp&b)const{
  114. if(a[]<b.a[])
  115. return ;
  116. if(a[]>b.a[])
  117. return ;
  118. for(int i=a[];i;i--)
  119. if(a[i]<b.a[i])
  120. return ;
  121. else if(a[i]>b.a[i])
  122. return ;
  123. return ;
  124. }
  125. bool operator<=(const hp&b)const{
  126. return !(*this>b);
  127. }
  128. hp operator/(const hp&b)const{
  129. hp l(),r(*this),mid;
  130. while(l<r){
  131. mid=(l+r+)/;
  132. if(mid*b<=*this)
  133. l=mid;
  134. else
  135. r=mid-;
  136. }
  137. return l;
  138. }
  139. void operator/=(const hp&b){
  140. *this=*this/b;
  141. }
  142. }a,b,c;
  143. char s[MAXN+];
  144. void read(){
  145. scanf("%s",s);
  146. a=s;
  147. scanf("%s",s);
  148. b=s;
  149. }
  150. int main()
  151. {
  152. read();
  153. c=a/b;
  154. c.print();
  155. puts("");
  156. a-=c*b;
  157. a.print();
  158. }

Time: 2017-10-16

[SinGuLaRiTy] 复习模板-高精度模板的更多相关文章

  1. [Template]高精度模板

    重新写一下高精度模板(不要问我为什么) 自认为代码风格比较漂亮(雾 如果有更好的写法欢迎赐教 封装结构体big B是压位用的进制,W是每位长度 size表示长度,d[]就是保存的数字,倒着保存,从1开 ...

  2. C++高精度模板

    原文地址:http://blog.csdn.net/wall_f/article/details/8373395 原文只附代码,没有解析,本文增加了一些对代码的解释. 请注意:本模板不涉及实数运算与负 ...

  3. [note]高精度模板

    高精度模板 先定义一个struct struct gj{ int l,s[N]; bool fh; void Print(){ if(fh)putchar('-'); for(int i=l;i> ...

  4. 高精度模板 支持各种运算 c++

    绪言 自从有了高精度模板,妈妈再也不用怕我不会打高精度了! 代码 代码长度与日俱增啊~~~ #include<iostream> #include<cstring> #incl ...

  5. C++复习:函数模板和类模板

    前言 C++提供了函数模板(function template).所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表.这个通用函数就称为函数模板.凡是函数体 ...

  6. C++:类模板与模板类

    6.3 类模板和模板类 所谓类模板,实际上是建立一个通用类,其数据成员.成员函数的返回值类型和形参类型不具体指定,用一个虚拟的类型来代表.使用类模板定义对象时,系统会实参的类型来取代类模板中虚拟类型从 ...

  7. C++:函数模板与模板函数

    6.1 模板的概念 C++允许用同一个函数定义函数,这些函数的参数个数和参数类型不同.例如求最大值的max函数, int max(int x,int y) {       return (x>y ...

  8. C++ template学习一(函数模板和模板函数)

    函数模板和模板函数(1)函数模板函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计.它的最大特点是把函数使用的数据类型作为参数.函数模板的声明形式为:templat ...

  9. vs 2013下自定义ASP.net MVC 5/Web API 2 模板(T4 视图模板/控制器模板)

    vs 2013下自定义ASP.net MVC 5/Web API 2  模板(T4 视图模板/控制器模板): Customizing ASP.NET MVC 5/Web API 2 Scaffoldi ...

随机推荐

  1. C语言--解引用

    昨天,在<C和指针>上面看到"解引用"这个名词,就好奇的去查了查. (下面是一个大一渣渣的理解,请各位朋友海涵,如果有漏洞或者补充希望前辈不吝指正.) 例: #incl ...

  2. MySQL查询相关(初级)(全文重点)

    where 是约束条件 先找到表 from t1 where 条件 : 指的是把表里的数据,一条一条的记录取出来 然后 group by 分组, having 是过滤条件 指记录已经出来 聚合 cou ...

  3. python科学计算_numpy_广播与下标

    多维数组下标 多维数组的下标是用元组来实现每一个维度的,如果元组的长度比维度大则会出错,如果小,则默认元组后面补 : 表示全部访问: 如果一个下标不是元组,则先转换为元组,在转换过程中,列表和数组的转 ...

  4. 可视化编程开发板TurnipBit支持LED亮度可调功能

    微软的makecode编辑器更新至版本v0.12.64.新增LED的可调亮度功能.而作为中文版可视化编程的口袋计算机TurnipBit完全兼容micro:bit,同样支持LED的亮度可调功能. 该项功 ...

  5. eclipse环境下日志打印输出

    1.先将jdk配置一下 选Preferences---- 找到自己的jdk所在的位置 2.配置Tomcat window-----preferences------- 找到自己的tomcat所在位置 ...

  6. windows环境VS2015编译TensorFlow C++程序完全攻略

    本文参考和综合了多篇网络博客文章,加以自己的实践,最终终于在windows环境下,编译出可以用于C++程序调用tensorflow API的程序,并执行成功. 考虑到网络上关于这方面的资料还较少,特总 ...

  7. 网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器

    网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器 网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器 论述当下网络时间同步的重要性   北京华人开创科技发展有限公 ...

  8. Elasticsearch Head插件实践

    简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...

  9. 关于ORM的浴室思考

    这是一个由EF群引发的随笔 平时在一个EF群摸鱼,日常问题可以归纳为以下几种: 这条sql用linq怎么写? EF可以调用我写的存储过程么? EF好慢啊一些复杂查询写起来好麻烦-- 为什么会有这些问题 ...

  10. ASP.NET 设计模式:设计模式和原则简述

    设计模式的概念 设计模式是高层次的.抽象的解决方案模板.可以将这些模式视为解决方案的蓝本而不是解决方案本身.通常是通过重构自己的代码并将问题泛化来实现设计模式. 软件设计中常见的模式大体分为三类: 创 ...