算法学习——枚举之基于素数的代数和
2021-06-28 05:06
标签:pre orm [1] exti for 算法思路 sqrt 素数 ret 基于素数的代数和 s(n) = (1/3)-(3/5)-(5/7)+(7/9)+...+(2n-1)/(2n+1) 分子与分母中有且只有一个素数时符号取+ 分子与分母都不是素数或者都是素数,则前面的符号取- 1.求s(2016) 2.设1
3.设1
设置一个二维数组存放数值 a[i][1]存放2i+1 a[i][0]存放0或1 如果2i+1是素数,则存放0,不为素数,则存放1 比如 当分子与分母只有一个是素数的时候, 求最大值,我们只需要在每次s(n)加或减之后进行一次判断,若s大于Max,则交换数值,第k项可以由公式 求最接近0的数值,需要判断,绝对值是否为最小,求绝对值可以使用 算法学习——枚举之基于素数的代数和 标签:pre orm [1] exti for 算法思路 sqrt 素数 ret 原文地址:https://www.cnblogs.com/kexing/p/9650214.html算法描述
算法思路
a[3][1]=7
a[3][0]=1
a[i][0]+a[i+1][0]=1
,取+
,不是的话,则取-
。以此为条件,可以计算s(n)的值a[i][0]=2i-1
求得i,也就是k = (a[i][0]+1)/2
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;imax){
max =s;
k1 = (a[i+1][1]-1)/2;
}
if(Math.abs(s)
结果
下一篇:Python中的字典