zoukankan      html  css  js  c++  java
  • L1-046. 整除光棍(模拟竖式计算除法)

     

    L1-046. 整除光棍

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    翁恺

    这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

    提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。

    输入格式:

    输入在一行中给出一个不以5结尾的正奇数x(< 1000)。

    输出格式:

    在一行中输出相应的最小的s和n,其间以1个空格分隔。

    输入样例:
    31

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<map>
    using namespace std;
    typedef long long ll;
    int main()
    {
        ll x, ans = 1, num = 1;
        cin >> x;
        while( ans < x )
        {
            ans = ans * 10 + 1;
            num ++;
        }
        while( 1 ) 
        {
            if( ans % x == 0 ) 
            {//除尽就可以直接输出
                cout << ans / x;
                break;
            } 
            else 
            { //除不尽就取余
                cout << ans / x;
                ans %= x;
                ans = ans * 10 + 1;
                num ++;
            }
        }
        cout << " " << num << endl;
        return 0;
    }
  • 相关阅读:
    Realtime crowdsourcing
    maven 常用插件汇总
    fctix
    sencha extjs4 command tools sdk
    首次吃了一颗带奶糖味的消炎药,不知道管用不
    spring mvc3 example
    ubuntu ati driver DO NOT INSTALL recommand driver
    yet another js editor on windows support extjs
    how to use springsource tools suite maven3 on command
    ocr service
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/13271072.html
Copyright © 2011-2022 走看看