import java.util.Scanner;
import java.util.Arrays;
public class Main {
private static Scanner cin;
private static int[] rem = new int[501];
public static void main(String args[]) throws Exception {
cin = new Scanner(System.in);
Arrays.fill(rem,-1);
int n = cin.nextInt();
System.out.println(calc(n/2)+1);
}
private static int calc(int step) {
int ret = 0;
if(-1 != rem[step]) {
return rem[step];
}
if(step>=1) {
for(int i=1;i<=step;i++) {
if(-1 != rem[i]) {
ret = ret + rem[i]+1;
}else {
ret = ret + calc(i/2)+1;
rem[i] = ret;
}
}
}
return ret;
}
}
Java实现 洛谷 P1028 数的计算
原创
©著作权归作者所有:来自51CTO博客作者热爱学习的发呆哥的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:java实现取字母组成串
下一篇:java实现取字母组成串

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
[洛谷]P1028 数的计算
相关标签 动态规划题目简叙思路找规律s=0 n=1 0; s=1 n=1 1;s=2 n=2 exm:12,2,
动态规划 洛谷 i++ ios #include -
【洛谷】P1028 [NOIP2001 普及组] 数的计算
递归过程中叠加记忆化搜索,最好能在一次思考编写中就给出最优解。
算法 洛谷 记忆化搜索 递归 ios -
【Luogu P1028】【Luogu P1036】
递归与递推
递归 i++ ci