HDOJ 2802 F(N)

简介: Problem Description Giving the N, can you tell me the answer of F(N)?Input Each test case contains a single integer N(1

Problem Description

Giving the N, can you tell me the answer of F(N)?

Input
Each test case contains a single integer N(1<=N<=10^9). The input is terminated by a set starting with N = 0. This set should not be processed.

Output
For each test case, output on a line the value of the F(N)%2009.

Sample Input
1
2
3
0

Sample Output
1
7
20

一般这种让根据公式求出对应项的值得题都有规律 (有一个循环,此题的循环为4018(注意 这种有循环规律的是让你输出对应项对某个数取余后的题))可以先打表写出有限个数的结果,再观察规律,或者直接写代码判断是否进入了循环。

import java.math.BigDecimal;
import java.util.Scanner;

public class Main {
    static int[] f = new int[10000];
    public static void main(String[] args) {
        f[1]=1;
        f[2]=7;
        for(int i=3;i<=4018;i++){
            f[i] = (f[i-2]-((i-1)*(i-1)*(i-1))+(i*i*i))%2009;
            //System.out.println(i+" "+f[i]);
        }
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n = sc.nextInt();
            if(n==0)
                return ;
//          for(int i=3;i<100000;i+=2){
//              if(f[i]==1&&f[i+1]==7){
//                  System.out.println(i-1);
//                  break;
//              }
//          }
            //判断多久开始循环
            System.out.println(f[n%4018]);
        }

    }

}
目录
相关文章
HDOJ 1214 圆桌会议
HDOJ 1214 圆桌会议
108 0
HDOJ 2041 超级楼梯
HDOJ 2041 超级楼梯
112 0
|
人工智能 Java BI
HDOJ 1303 Doubles(简单题)
Problem Description As part of an arithmetic competency program, your students will be given randomly generated lists of from 2 to 15 uniq...
993 0
|
Java BI 数据安全/隐私保护
HDOJ 2100 Lovekey
Problem Description XYZ-26进制数是一个每位都是大写字母的数字。 A、B、C、…、X、Y、Z 分别依次代表一个0 ~ 25 的数字,一个 n 位的26进制数转化成是10进制的规则如下 A0A1A2A3…An-1 的每一位代表的数字为a0a1a2a3…...
754 0
HDOJ 2075 A|B?
Problem Description 正整数A是否能被正整数B整除,不知道为什么xhd会研究这个问题,来帮帮他吧。 Input 输入数据的第一行是一个数据T,表示有T组数据。
960 0
|
测试技术
HDOJ 2046 骨牌铺方格
Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Input 输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0 import java.
716 0
HDOJ 2013 蟠桃记
Problem Description 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题! 什么问题?他研究的问题是蟠桃一共有多少个! 不过,到最后,他还是没能解决这个难题,呵呵^-^ 当时的情况是这样的: 第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。
1089 0