• 怎样确定循环节


    ---恢复内容开始---

     有人把循环小数0.535353……简记成下面的几种结果:

      

    请问这些结果都正确吗?为什么?

    我想,我们已经学会了怎样把一个循环小数化成分数.那么,回答这个问题最好的办法就是把这些简记结果都化成分数,再看这些分数结果有无区别。

    聪明的读者,这个问题就请你亲自动手换算后再来回答.好吗?

    【规律】

      

      

     所以这些简记结果都是正确的.

    一般地,同一个循环小数的循环节可以有多种简记方法.假设循环小数中有n个数字不断重复出现,那么简记后的循环节可以有n位数字,也可以有2n 位数字、3n位数字、……;循环节的第一位数字可以是不断重复出现的第一位数字,也可以是第二位数字、第三位数字…….但是,只有以重复出现的第一位数字作循环节的第一位数字,取n位数为循环节的简记方法最为简单.

    【练习】

    1.有人把循环小数0.787878……简记成下面的结果:

      
        请你判定哪些是正确的,哪些是错误的.

    2.对于下面的每个循环小数,请你至少写出五个简记结果.

    0.464646…… 0.123123123……

    3.用最简单的形式简记下列各循环小数.

    0.878787…… 0.638638638……

    0.4172172172…… 0.1991991991……

    4.你有办法验证下面的数是相等的吗?

      

     

    ---恢复内容结束---

     有人把循环小数0.535353……简记成下面的几种结果:

      

    请问这些结果都正确吗?为什么?

    我想,我们已经学会了怎样把一个循环小数化成分数.那么,回答这个问题最好的办法就是把这些简记结果都化成分数,再看这些分数结果有无区别。

    聪明的读者,这个问题就请你亲自动手换算后再来回答.好吗?

    【规律】

      

      

     所以这些简记结果都是正确的.

    一般地,同一个循环小数的循环节可以有多种简记方法.假设循环小数中有n个数字不断重复出现,那么简记后的循环节可以有n位数字,也可以有2n 位数字、3n位数字、……;循环节的第一位数字可以是不断重复出现的第一位数字,也可以是第二位数字、第三位数字…….但是,只有以重复出现的第一位数字作循环节的第一位数字,取n位数为循环节的简记方法最为简单.

    【练习】

    1.有人把循环小数0.787878……简记成下面的结果:

      
        请你判定哪些是正确的,哪些是错误的.

    2.对于下面的每个循环小数,请你至少写出五个简记结果.

    0.464646…… 0.123123123……

    3.用最简单的形式简记下列各循环小数.

    0.878787…… 0.638638638……

    0.4172172172…… 0.1991991991……

    4.你有办法验证下面的数是相等的吗?

      


     

    Problem D

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
    Total Submission(s) : 102   Accepted Submission(s) : 33

    Font: Times New Roman | Verdana | Georgia

    Font Size:

    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 Main4 {

     public static void main(String[] args) {
      Scanner cin = new Scanner(System.in);
      while(cin.hasNext()){
       int  a = cin.nextInt();
       int  b = cin.nextInt();
       int  n = cin.nextInt();
       int[] arr = new int[100];
       arr[0]=1;
       arr[1]=1;
       int i=0;
       while(a!=0&&b!=0&&n!=0){
        for( i=2;i<50;i++){         //确定循环节
         arr[i]=((int)(a*arr[i-1]+b*arr[i-2]))%7; 
         if(arr[i]==1&&arr[i-1]==1){
          break;
         }
        }
        i--;
        System.out.println(arr[(n-1)%i]);
         a = cin.nextInt();
          b = cin.nextInt();
          n = cin.nextInt();
       }
      }
     }

    }

  • 相关阅读:
    Linux c++ 试验4 一个输出整形类型数值问题
    Linux c++ 试验6 右值
    vi 常用命令
    ensp学习1 ensp无法运行启动问题解决
    Linux c++ 试验7 函数里定义的string不能返回成指针
    ensp学习2 ensp设置接口ip
    mmcblk0p0和sda1等等的含义
    大白话解释一下什么是NFT
    Docker实现Mysql主从复制
    docker安装redis
  • 原文地址:https://www.cnblogs.com/qjack/p/3366534.html
Copyright © 2020-2023  润新知