您的位置:首页 > 其它

ZCMU—1131

2016-12-11 17:15 169 查看

1131: 第七章:早知道,是梦一场

Time Limit: 1 Sec  Memory Limit: 128 MB

[Submit][Status][Web
Board]

Description

毕业,这个伤感的季节,总是伴着不舍。自闭而又敏感、自尊的陈孝正却在毕业的时候又选择了出国,放弃了郑微。此刻的郑薇,感觉像是梦一场回到了原点。

郑薇就像是这个数:102564,渡过了四年的大学时光,102564*4=410256,只是自己右移了一位,没有其他的不同。暂且我们把这样一类数叫做郑薇数,请你研究一下,如果给定两个数n和k,怎样找到一个的最小的郑薇数,使他的最右位恰好是数字k,且乘以n以后的数字等于自身数字循环右移一位。

Input

第一行是数字t,表示接下来有几组数据,每组数据单独成行,包括两个整数n和k(1<=n<=9&&1<=k<=9)。

Output

每组数据分别输出一个整数,且要单独成行,如果最小的郑薇数(且她的最右位恰好是数字k)存在,则输出他,否则输出0

Sample Input

14 5

Sample Output

128205

【分析】

一道典型的用来吓人的题目...只要你愿意认真去笔算,连测试数据都不需要,只要样例算一遍就能发现规律...
从最后一位开始往前,数字都已经固定了...倒着推上去,注意开头是0的时候说明不成立就好了。
【代码】
#include <stdio.h>
int main()
{
int a[10000]={0};
int pp;scanf("%d",&pp);
while (pp--)
{
int n,k;scanf("%d%d",&n,&k);
int i=1;a[0]=k;
int jw=0;
while (1)
{
a[i]=a[i-1]*n+jw;
if (a[i]==k) break;
jw=a[i]/10;a[i]%=10;
i++;
}
if (a[i-1]==0) printf("0\n");
else
{
for (int j=i-1;j>=0;j--) printf("%d",a[j]);printf("\n");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: