HDOJ 2802 F(N)
来源:互联网 发布:js 字符串base64编码 编辑:程序博客网 时间:2024/06/02 04:56
HDACM2802
此题关键在于找循环节,函数:f(n)-n^3 = f(n-2)-(n-1)^3,For each test case, output on a line the value of the F(N)%2009
由这句话可以推出f(n)的最多的可能是2009*2009中可能,接下来必会循环,所以当 i>3&&f[i]==f[3]&&(3*i*(i-1)+1)%2009==19 就表示找到多少次一次循环。
import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner sc = new Scanner( System.in ); int[] f = new int[2009*2009+4]; f[1] = 1; f[2] = 7; int pos = 2009*2009; for (int i = 3; i <= pos; i++) { f[i] = (3*i*(i-1)+1+f[i-2])%2009; if (i>3&&f[i]==f[3]&&(3*i*(i-1)+1)%2009==19) {//找循环节 pos = i-3; break; } } while (sc.hasNext()) { long n = sc.nextLong(); if (n==0) { break; } if (n==1) { System.out.println(1); continue; } if (n==2) { System.out.println(7); continue; } System.out.println(f[(int)((n-2)%pos)+2]); } }}
阅读全文
0 0
- HDOJ 2802 F(N)
- HDOJ 2802 F(N)
- hdoj-2802-F(N)
- HDOJ 2802 F(N)
- HDOJ 2582 f(n) (YY+找规律)
- hdu 2802 F(N)
- HDU 2802 F(N)
- HDU 2802 F(N)
- 杭电2802F(N)
- hdu 2802 F(N) 循环解(水)
- HDU 2802 F(N) (找循环节)
- 数学问题 Hdu 2802 F(n)
- HDU 2802 F(N)(数论)
- HDU 2802 F(N) [Ad Hoc]
- hdu 2802 F(N)(递推)
- hdoj f(n) 2582 (GCD打表&找规律)好题
- hdoj N!
- hdoj N!
- 【个人模板】BFS
- 2017.10.16 JavaScript DOM编程艺术一刷
- MUI常用组件之accordion、actionsheet
- 数据结构与算法(1)
- atom实现html实时预览
- HDOJ 2802 F(N)
- C语言 不使用strcat函数实现连接两个字符串功能
- 服务计算作业2——selpg
- JVM学习笔记
- LA 3263
- python机器学习决策树初识
- JAX-RS (REST Web Services) 2.0 requires Java 1.6 or newer
- C#Window VS2015,Treeview动态绑定树节点绑定sql
- python图形界面GUI编程之wxpython布局