由键盘输入一个奇数 P (P<100,000,000) ,其个位数字不是 5,求一个整数 S,使 P× S = 1111...1 ( 在给定的条件下,解 S 必存在 ) 。要求在屏幕上依次输出以下结果 :
1) S 的全部数字。除最后一行外,每行输出 50 位数字。
2) 乘积的数字位数。
例1:输入 p=13,由于 13*8547=111111 ,则应输出(1) 8547 ,(2) 6
例2:输入 p=147,则输出结果应为(1) 755857898715041572184429327286470143613,(2) 42,即等式的右端有 42个1。
#include <iostream> #include <iomanip> using namespace std; int main() { long p,a,b,c,t,n; while (1) { cin >>p; if ((p%2!=0)&&(p%5!=0)) //如果输入的数符合要求,结束循环 ______(1)_______; } a=0; n=0; while (a<p) { a=a*10+1; n++; //变量 a存放部分右端项, n为右端项的位数 } t=0; do { b=a/p; cout <<setw(1)<<b; t++; if (______(2)_____) cout <<endl; c=______(3)______; a=______(4)______; n++; } while (c>0); cout<<endl<<"n="<<_____(5)______<<endl; }