光棍數(shù)是全部由1組成的數(shù)字馍盟,比如 1、11茧吊、111贞岭、1111 等。傳說(shuō)任何一個(gè)光棍數(shù)都能被一個(gè)不以5結(jié)尾的奇數(shù)整除搓侄。比如瞄桨,111111 就可以被 13 整除。 現(xiàn)在讶踪,你的程序要讀入一個(gè)整數(shù)芯侥,這個(gè)整數(shù)一定是奇數(shù)并且不以 5 結(jié)尾。然后乳讥,經(jīng)過(guò)計(jì)算柱查,輸出兩個(gè)數(shù)字:第一個(gè)數(shù)字,表示乘以是一個(gè)光棍數(shù)云石,第二個(gè)數(shù)字是這個(gè)光棍數(shù)的位數(shù)唉工。這樣的解不是唯一的,題目要求你輸出最小的解。
輸入格式:
輸入在一行中給出一個(gè)不以 5 結(jié)尾的正奇數(shù)(<1000)留晚。
輸出格式:
在一行中輸出相應(yīng)的最小的和酵紫,其間以 1 個(gè)空格分隔。
輸入樣例:
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 的位數(shù)
n = n * 10 + 1; // 將 n 擴(kuò)大到不小于 x
for ( ; ; m++)
{
s = n / x;
printf("%d", s);
if (n % x == 0)
break;
n %= x;
n = n * 10 + 1; // n 儲(chǔ)存余數(shù)错维,作為下一次循環(huán)的被除數(shù)
}
printf(" %d\n", m);
return 0;
}