zoukankan      html  css  js  c++  java
  • Number Sequence_hdu_1005(规律)

    9329854 2013-10-13 14:36:41 Accepted 1005 171MS 5072K 654 B Java zhangyi
    http://acm.hdu.edu.cn/showproblem.php?pid=1005
    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 86162    Accepted Submission(s): 20434


    Problem Description
    A number sequence is defined as follows:

    f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.


    Given A, B, and n, you are to calculate the value of f(n).
     


    Input

    The input consists of multiple test cases. Each test case contains 3 integers A, B and n on a single line (1 <= A, B <= 1000, 1 <= n <= 100,000,000).

     Three zeros signal the end of input and this test case is not to be processed.


    Output
    For each test case, print the value of f(n) on a single line.
     

    Sample Input
    1 1 3
    1 2 10
    0 0 0
     

    Sample Output
    2

    5


    */

    import java.util.Scanner;
    
    public class Main{
    	public static void main(String[] args) {
    		Scanner input=new Scanner(System.in);
    		while(true){
    			int a=input.nextInt();
    			int b=input.nextInt();
    			long n=input.nextInt();
    			if(a==0&&b==0&&n==0)
    				break;
    			int f[]=new int[1000];
    			f[1]=f[2]=1;
    			int s[][]=new int[7][7];
    			s[1][1]=2;
    			int i=0;
    			for(i=3;i<60;i++){
    				f[i]=(a*f[i-1]+b*f[i-2])%7;
    				if(s[f[i-1]][f[i]]!=0){
    					break;
    				}
    				s[f[i-1]][f[i]]=i;
    			}
    			int d=i-s[f[i-1]][f[i]];
    			n-=s[f[i-1]][f[i]];
    			n%=d;
    			if(n==0)n+=d;
    			n+=s[f[i-1]][f[i]];
    			System.out.println(f[(int)n]);
    		}
    	}
    }



  • 相关阅读:
    jquery设置多个css样式
    html中设置透明遮罩层的兼容性代码
    在html中显示Flash的代码
    js setTimeout()
    jquery live hover
    leetcode第16题--3Sum Closest
    leetcode第15题--3Sum
    leetcode第14题--Longest Common Prefix
    leetcode第13题--Roman to Integer
    leetcode第12题--Integer to Roman
  • 原文地址:https://www.cnblogs.com/james1207/p/3367881.html
Copyright © 2011-2022 走看看