zoukankan      html  css  js  c++  java
  • 1770 数数字

    1770 数数字

    基准时间限制:1 秒 空间限制:262144 KB

    统计一下由数字a组成的n位数与b相乘结果中含有多少个数字d; (引自原题目)

    样例解释:

    3333333333*3=9999999999,里面有10个9。

    Input
    多组测试数据。
    第一行有一个整数T,表示测试数据的数目。(1≤T≤5000)
    接下来有T行,每一行表示一组测试数据,有4个整数a,b,d,n。 (1≤a,b≤9,0≤d≤9,1≤n≤10^9)
    Output
    对于每一组数据,输出一个整数占一行,表示答案。
    Input示例
    2
    3 3 9 10
    3 3 0 10
    Output示例
    10
    0
    //优美的模拟; 
    #include <cstdio> 
    #include <iostream>
    using namespace std;
    int main()
    {
        int t;
        scanf("%d", &t);
        while(t--)
        {
            int a, b, d, n;
            scanf("%d%d%d%d", &a, &b, &d, &n);
            if(a*b<= 9)
            {
                if(d==a*b)
                    cout << n<<'
    ';
                else
                    cout<<0<<'
    ';
            }
            else
            {
                int z=a*b /10;
                int r=a*b %10; //位数 ; 
                int res[10]={0};
                res[r]++;
                n--;
                while(n)
                {
                    r=(a*b+z)%10;
                    z=(a*b+z)/10;
                    if(res[r])
                    {
                        res[r]+= n;
                        break;
                    }
                    else
                    {
                        res[r]++;
                    }
                    n--;
                }
                res[z]++;
                cout<< res[d] <<endl;
            }
        } 
        return 0;
    }
  • 相关阅读:
    js
    原型、原型链、闭包、继承
    js6.22
    js
    js
    在浏览器窗口上添加一个遮罩层
    git使用笔记
    前端开发面试题
    Web Worker
    js实现图片预加载
  • 原文地址:https://www.cnblogs.com/ceal/p/5525294.html
Copyright © 2011-2022 走看看