zoukankan      html  css  js  c++  java
  • LightOJ

    Leading and Trailing

     You are given two integers: n and k, your task is to find the most significant three digits, and least significant three digits of nk.
    

    Input

    Input starts with an integer T (≤ 1000), denoting the number of test cases.
    
    Each case starts with a line containing two integers: n (2 ≤ n < 231) and k (1 ≤ k ≤ 107).
    
    Output
    
    For each case, print the case number and the three leading digits (most significant) and three trailing digits (least significant). You can assume that the input is given such that nk contains at least six digits.
    

    Sample Input

    5
    
    123456 1
    
    123456 2
    
    2 31
    
    2 32
    
    29 8751919
    

    Sample Output

    Case 1: 123 456
    
    Case 2: 152 936
    
    Case 3: 214 648
    
    Case 4: 429 296
    
    Case 5: 665 669
    
    //求一个数的几次方的前三位有一个公式;
    //head=n^k/(10^(t-3));
    //fmod(double,int)是一个函数,求一个数的小数部分;
    //由于任意一个数都可以写成10的几次方,只不过这个几次方可能是个小数;
    //所以小数部分就是决定前几位的数是几的关键,然后再用pow()函数。
    #include<stdio.h>
    #include<math.h>
    long long mi(long long x,long long y)
    {
        x=x%1000;
        long long m=x,n=1;
        while(y)
        {
            if(y%2==1)
                n=n*m%1000;
            m=m*m%1000;
            y/=2;
        }
        n=n%1000;
        return n;
    }
    int main()
    {
        int t,l=0;
        scanf("%d",&t);
        while(t--)
        {
            l++;
            long long a,b,c,d;
            scanf("%lld%lld",&a,&b);
            c=mi(a,b);
           d=(int)pow(10.0,2.0+fmod(b*log10(1.0*a),1));
            printf("Case %d: %03lld %03lld
    ",l,d,c);
        }
    }
  • 相关阅读:
    paper:Exploiting Query Reformulations for Web Search Result Diversification
    Z3
    IDA pro 类型参考
    Angr包含什么
    Gcc编译选项
    Angr
    一张图系列之PLT-GOT
    ELF头文件
    BROP_轮子
    Pwn_
  • 原文地址:https://www.cnblogs.com/da-mei/p/9053374.html
Copyright © 2011-2022 走看看