天梯 L1_46整除光棍

#include <iostream>
using namespace std;
typedef long long ll;

int main() {
    ll s, ans = 1;
    int n = 1; // 刚开始一个 1 计入位数
    cin >> s;
    // 得到第一个不小于 s 的数,防止开始除的时候输出的结果为 0
    while(ans < s) {
        ans = ans*10 + 1;
        n++;
    }
    while(1) {

        // 能整除就输出并且结束
        if(ans % s == 0) {
            cout << ans / s;
            break;
        // 不能整除就输出除的结果,并用余数进位继续除
        } else {
            cout << ans / s;
            ans %= s;
            ans = ans*10 + 1;
            n++;
        }
    }
    cout << " " << n << endl;


    return 0;
}

 

posted @ 2018-03-02 22:23  奋斗の小白  阅读(148)  评论(0编辑  收藏  举报