YT14-HDU-求1/n的第m位数

Problem Description

Now give you two integers n m, you just tell me the m-th number after radix point in 1/n,for example n=4,the first numble after point is 2,the second is 5,and all 0 followed

Input

Each line of input will contain a pair of integers for n and m(1<=n<=10^7,1<=m<=10^5)

Output

For each line of input, your program should print a numble on a line,according to the above rules

Sample Input

4 2
5 7
123 123

Sample Output

5
0
8

Author

YBB

Source

HDU 2007-10 Programming Contest_WarmUp

代码如下:

#include <iostream>
using namespace std;
int main()
{
    int n,m,i,s,t;
    while(cin>>n>>m)
    {
        if(m==1)
            cout<<0<<endl;
        else
        {
            s=10;
            for(i=1; i<=m; i++)
            {

                t=s/n;
                s=s%n*10;
            }
            cout<<t<<endl;
        }
    }
    return 0;
}



时间: 2024-10-02 00:54:09

YT14-HDU-求1/n的第m位数的相关文章

light_oj 1282 求n^k的前几位数和后几位数

light_oj 1282 求n^k的前几位数和后几位数 E - Leading and Trailing Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status Practice LightOJ 1282 Description You are given two integers: n and k, your task is to find the most signif

(快速幂) 求A^B的最后三位数表示的整数

Description 求A^B的最后三位数表示的整数. 说明:A^B的含义是“A的B次方” Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理. Output 对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行. Sample Input 2 3 12 6 6789 10000 0 0 Sample Output 8 984 1 快速幂求n^n; 1 int f1(i

高效求一个整数中1的位数

求一个整数中0或1的位数,有很多方法可以使用除法,求余等方法,也可以使用位运算,相比前者效率更高. #include <stdio.h> #include <stdlib.h> //求一个整数 1的位数 int count0(int x) { int num=0; while(x) { num+=x%2; x/=2; } return num; } int count1(int x) { int num=0; while(x) { num+=(x&0x01); x>&

【HDU 1018】Big Number —— n!的位数

原题链接 解题报告: 由于最大能达到10^7! 故而不能直接用高精度整数算出结果,然后取位数--所以转换思路,从数学角度算出n!的位数,推导如下: 因为len(n)=floor( log10(n) )+1 设A=n!=1*2*3*...*n 所以len(A)-1=floor( log10(A) )=floor( log10(1*2*3*...*n) )=floor( log10(1)+log10(2)+log10(3)+...log10(n) ) 故而len(A)=1+floor( log10(

【算法题5】求不同进制表示的位数之和的均值

尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题,现在,她正在玩一个数值变换的游戏.她发现计算机中经常用不同的进制表示一个数,如十进制数123表达为16进制时只包含两位数7.11(B),用八进制表示为三位数1.7.3,按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11,. 小B感兴趣的是,一个数A如果按2到A-1进制表达时,各个位数之和的均值是多少?她希望你能帮她解决这个问题? 所有的计算均基于十进

(hdu step 2.3.3)Big Number(求N!的位数)

在写题解之前给自己打一下广告哈~..抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下: http://edu.csdn.net/course/detail/209 题目: Big Number Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 951 Accepted Submission(s): 640   Problem Des

hdu 3415 单调队列

Max Sum of Max-K-sub-sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5690    Accepted Submission(s): 2059 Problem Description Given a circle sequence A[1],A[2],A[3]......A[n]. Circle s

HDU 1061 N^N (n的n次方的最后一位)

题目意思: http://acm.hdu.edu.cn/showproblem.php?pid=1061 求N^N的最后一位数. 题目分析: 此题有非常多种方法,主要是中循环节,看自己怎么找了.我的方法是找到全部个位数(0-9)数的循环节,详见代码. AC代码: /** *全部数的循环节是12 */ #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> using na

二分求幂,快速求解a的b次幂

一个引子 如何求得a的b次幂呢,那还不简单,一个for循环就可以实现! void main(void) { int a, b; int ans = 1; cin >> a >> b; for (int i = 1; i <= b; i++) { ans *= a; } cout << ans; } 那么如何快速的求得a的b次幂呢?上面的代码还可以优化吗? 当然是ok的!下面就介绍一种方法-二分求幂. 二分求幂 所谓二分求幂,即是将b次幂用二进制表示,当二进制位k位

HDU - 人见人爱A^B

Description 求A^B的最后三位数表示的整数. 说明:A^B的含义是“A的B次方” Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理. Output 对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行. Sample Input 2 3 12 6 6789 10000 0 0 Sample Output 8 984 1 -------------------