天梯 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; }