基於素數的代數和
s(n) = (1/3)-(3/5)-(5/7)+(7/9)+...+(2n-1)/(2n+1)
分子與分母中有且只有乙個素數時符號取+ 分子與分母都不是素數或者都是素數,則前面的符號取-
1.求s(2016)
2.設1<=n<=2016,求當n為多大時,s(n)最大
3.設1<=n<=2016 求當n為多大時,s(n)最接近0設定乙個二維陣列存放數值
a[i][1]存放2i+1
a[i][0]存放0或1
如果2i+1是素數,則存放0,不為素數,則存放1
比如當分子與分母只有乙個是素數的時候,a[3][1]=7
a[3][0]=1
a[i][0]+a[i+1][0]=1
,取+
,不是的話,則取-
。以此為條件,可以計算s(n)的值
求最大值,我們只需要在每次s(n)加或減之後進行一次判斷,若s大於max,則交換數值,第k項可以由公式a[i][0]=2i-1
求得i,也就是k = (a[i][0]+1)/2
求最接近0的數值,需要判斷,絕對值是否為最小,求絕對值可以使用math.abs(double s)
方法
scanner scnner = new scanner(system.in);
int n = scnner.nextint();
scnner.close();
int a = new int[2*n+1][2];
for(int j=0,i=1;i<=2*n+1;i=i+2,j++)else
a[j][1] = i; //
}double s =0;
int k1=1,k2=1;//第k項
double max =0,min=1;//這裡min最小可以取1,或者取大於1的數字,求得最接近0的k項也是同樣的
double s2=0; //存放最接近0的數值
double temp=0;//乙個暫時存放數值的變數
演算法學習之素數
判斷是否是素數,素數又稱為質數,是大於1且除了本身沒有因數的自然數,如2,3,5,7,11等 演算法1 bool isprime int n int divisors,i divisors 0 for int i 1 i n i if n i 0 divisors return divisors 2...
深度學習演算法實踐2 線性代數和Numpy的使用
測試開發環境是否正確,定義二維陣列及常數與陣列相乘 import numpy from theano import import theano.tensor as t mtx numpy.asarray 1.0,2.0 3.0,4.0 5.0,6.0 scale 2.0 newmtx scale m...
演算法學習之素數環問題
1 n組成的素數環,素數環就是乙個陣列中後乙個數加前乙個數必須組成素數,a i a i 1 是素數,又因為是環狀所以,首末相加也要上素數即a 0 a n 1 是素數,因為是環狀所以會有很多重複的排列,我們要除去重複的排列,就要假定所有的排列都以1打頭。我們也是用回溯加剪枝來求素數環 include ...