首页 > 试题广场 >

由键盘输入一个奇数 P (P100,000,000),其个

[填空题]

由键盘输入一个奇数 P (P<100,000,000),其个位数字不是 5,求一个整数 S,使 P×S =1111...1 ( 在给定的条件下,解 S 必存在)。要求在屏幕上依次输出以下结果:

1S 的全部数字。除最后一行外,每行输出 50 位数字。 (2) 乘积的数字位数。

1:输入p=13,由于13*8547=111111,则应输出(18547,(26

2输入p=147,则输出结果应为

1755857898715041572184429327286470143613

242,即等式的右端有421


程序:

#include <iostream.h>
#include <iomanip.h>
void main(void) {
    long p, a, b, c, t, n;
    while (1) {
        cout << "输入 p, 最后一位为 1 或 3 或 7 或 9:" << endl;
        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;
} 


这道题你会答吗?花几分钟告诉大家答案吧!