HDU2132 An easy problem 【Java】

An easy problem

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 9194    Accepted Submission(s): 2491

Problem Description

We once did a lot of recursional problem . I think some of them is easy for you and some if hard for you.

Now there is a very easy problem . I think you can AC it.

We can define sum(n) as follow:

if i can be divided exactly by 3 sum(i) = sum(i-1) + i*i*i;else sum(i) = sum(i-1) + i;

Is it very easy ? Please begin to program to AC it..-_-

Input

The input file contains multilple cases.

Every cases contain only ont line, every line contains a integer n (n<=100000).

when n is a negative indicate the end of file.

Output

output the result sum(n).

Sample Input

1
2
3
-1

Sample Output

1
3
30

Author

Wendell

Source

HDU 2007-11 Programming Contest_WarmUp

Java水过。

import java.util.Scanner;
import java.math.BigInteger;

public class Main {
    static final int maxn = 100005;
    static BigInteger[] arr = new BigInteger[maxn];

    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        arr[0] = BigInteger.ZERO;
        BigInteger tmp;
        for(int i = 1; i <= 100000; ++i) {
            tmp = BigInteger.valueOf(i);
            if(i % 3 == 0)
                arr[i] = arr[i-1].add(tmp.multiply(tmp).multiply(tmp));
            else arr[i] = arr[i-1].add(tmp);
        }
        int n;
        while(true) {
            n = cin.nextInt();
            if(n < 0) break;
            System.out.println(arr[n]);
        }
    }
}

C代码好像更简单些。

#include <stdio.h>

#define maxn 100005
typedef __int64 LL;

LL arr[maxn];

int main() {
    int n, i;
    for(i = 1; i <= 100000; ++i)
        if(i % 3) arr[i] = arr[i-1] + i;
        else arr[i] = arr[i-1] + (LL)i * i * i;
    while(scanf("%d", &n), n >= 0)
        printf("%I64d\n", arr[n]);
}
时间: 2025-01-03 13:20:26

HDU2132 An easy problem 【Java】的相关文章

HDU2132 An easy problem【水题】

An easy problem Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10149    Accepted Submission(s): 2689 Problem Description We once did a lot of recursional problem . I think some of them is easy

【Java】Java还是.Net

网友一: 现在也跟着团队做了几个项目了,慢慢我觉得.Net无论是在语言设计.框架设计等各方面都比Java来得漂亮,是真正的后起之秀,在Studio环境下编程那是行云流水.但每次我写Java程序时,一打开Jbuilder或者Eclipse时,那慢得如牛的启动速度,极不人性化的操作就直皱眉头,可现实是,人家Java比.Net混得滋润得多,因为人家大度,人家海纳百川,所以钱财滚滚. 每次我们去谈项目的时候,金融.电信行业的用户就明确表示不用.Net,为什么?人家的服务器都是Unix的,.Net在这里连

【Java】String,StringBuffer与StringBuilder的区别??

String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以

【java】Windows7 下设置环境变量

Windows 7下配置JDK环境变量參数设置: 1.    安装JDK,安装过程中能够自己定义安装文件夹等信息,比如我们选择安装文件夹为:D:\Program Files (x86)\Java\jdk1.6.0_25 2.    安装完毕后,右击"我的电脑",点击"属性",单击"高级系统设置",点击"环境变量",如图: 4.    在"系统变量"中,设置3项属性,JAVA_HOME,PATH,CLASSP

【Java】使用switch 计算一个日期是当年的第几天

计算一个日期是当年的第几天 这是去年做的一个Java题目,老师当时说这段代码里的switch用的很好. 现在工作一年了,明显感觉当时还很稚嫩,那个时候考虑问题很简单, 现在遇到问题会想更多的方面,说到这里,真的要谢谢带我的经理, 这段时间真的学到很多东西,每天都是在解决问题,每天都能学到新东西, 短短几个月时间进步了好多. 1 import java.util.Scanner; 2 3 /** 4 * 计算一个日期是当年的第几天 5 */ 6 public class CountDays { 7

【Java】代处理?代理模式 - 静态代理,动态代理

>不用代理 有时候,我希望在一些方法前后都打印一些日志,于是有了如下代码. 这是一个处理float类型加法的方法,我想在调用它前打印一下参数,调用后打印下计算结果.(至于为什么不直接用+号运算,见[Java]Float计算不准确) package com.nicchagil.study.java.demo.No09代理.No01不用代理; import java.math.BigDecimal; public class FloatCalculator { public float add(fl

【Java】利用synchronized(this)完成线程的临界区

在<[Java]线程并发.互斥与同步>(点击打开链接)中利用了操作系统通过操作信号量控制的原始方法,完成了线程的互斥与同步,说句题外话,其实这个信号量的算法,是著名的迪杰斯特拉创造的,也就是数据结构.计算机网络上面最短路径算法.迪杰斯特拉算法.Dijkstra算法的贡献人.其实Java里面根本就不需要自己定义一个信号量来实现临界区,Java对于临界区的实现早已封装好了,而且synchronized还是Java的关键字. 那么,到底怎么来使用这个关键字呢?下面就对上次<[Java]线程并发

【Java】如何访问服务器

HTTP协议---------->GET.POST.XMLHttpRequest TCP/IP协议 SOAP协议---------->Web Service Server的作用是处理HTTP请求.WebService的SOAP请求.TCP/IP请求.FTP. TCP/IP请求--------->ServerSocket.Socket  java.net包和javax.net包 java类库中的网络软件包提供了一系列的类和接口,实现网络通信功能. java.net/javax.net---

【Java】Java垃圾回收机制

Java垃圾回收机制 说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来.在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理.顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机中,有哪些典型的垃圾收集器?下面我们就来逐一探讨这些问题.以下是本文的目录大纲: 一.如何确定某个对象