整除光棍数

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

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

输出格式:

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

输入样例:

31

输出样例:

3584229390681 15

代码如下
#include <stdio.h>
int main()
{
    int m = 1, n = 1, s = 0, x;
    scanf("%d", &x);            // s * x = n
    for (m = 1; n < x; m++)     // m 记录 n 的位数
        n = n * 10 + 1;         // 将 n 扩大到不小于 x
    for ( ; ; m++)
    {
        s = n / x;
        printf("%d", s);
        if (n % x == 0)
            break;
        n %= x;                 
        n = n * 10 + 1;        // n 储存余数,作为下一次循环的被除数
    }
    printf(" %d\n", m);
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容

  • 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光...
    我好菜啊_阅读 1,397评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,402评论 0 2
  • 这两天事情有点多,都跑出去没在家待着,题目自然是刷的少了,加上考研复习的资料到了,一时间有点分配不好时间,又加上想...
    寡悔阅读 217评论 0 0
  • 今天,又一次的战争,就这样悄无声息的来了,已经到了没有什么可以拿来争吵的了,那为什么还要争呢?吵呢?情还有吗?无数...
    夜色冷锋阅读 184评论 0 1
  • 塞北大漠,万里黄沙。如遇尘暴,那便是遮天闭日飞沙走石,鸟兽难逃。可谓百里广漠落尘烟,风卷金沙欲漫天。蛇鼠难逃雁不渡...
    我读书很少别骗我阅读 585评论 0 6