Java实现 洛谷 P1028 数的计算
2024-09-07 13:51:21
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;
}
}
最新文章
- 利用日期、经纬度求日出日落时间 C语言程序代码(zz)
- coderforces 731c
- UTF-8有签名和无签名的区别
- Apache配置HTTPS功能
- Windows7如何安装Sqlite3
- mongo 查找附近点
- 实现微信公众号自动登陆自己的Web App
- 实验一报告 20135238&;20135207
- XML基础总结2
- Java基础:多线程
- 使用JAVA直观感受快速排序与冒泡排序的性能差异
- Where is the ActiveX Project Type for Delphi 10.1 Berlin
- UVA 11802 All Your Bases Belong to Us
- windows 20003 扩展安装后不成功的原因
- 《TCP/IP作品详细解释2:实现》笔记--Radix树路由表
- 一个数组分四个ul并且每个ul里边有四个li显示
- windos环境apache+mysql+php+Discuz的安装配置
- Android Studio中的Java控制台中出现乱码问题?
- 微信终端开发团队:新年新语言,WCDB Swift
- CentOS 安装Docker