uva 550 - Multiplying by Rotation
2013-08-20 10:07
393 查看
题意:给一个进制数 最后一位数 和 乘数 要求求出最小的位数 满足 最后一位数变成第一位 其余的数不变 位置可以变
下面是copy 别人的分析:
原文地址:UVA 550 - Multiplying by Rotation 解题报告作者:Code_Life_LiWan
这个题一开始没看懂什么意思,所以就放在那没做,还是今天pengnix跟我说了这个题,才开始做的。
题目就是给出三个数,jinzhi,lastnumber,chengshu.求出在jinzhi进制下最少几位数a使得a*chengshu的值最后一位变成最前一位,其他不变。为了说明问题,还是拿题目说明测试数据来说吧。
179487 * 4 = 717948(10进制)
4*7=28 28!=7 28/10=2
28=8;
4*8+2=34 34!=7 37/10=3
34=4;
4*4+3=19 19!=7 19/10=1
19=9;
4*9+1=37 37!=7 37/10=3
37=7;
4*7+3=31 31!=7 31/10=3
31=1;
4*1+3=7 7==7;(end)
为什么可以这样做呢 我们可以观察到 前一个数的余数一定是下一个数的乘数 这样算下来就满足 最后一位数变成第一位 其余的数不变的条件了
下面是copy 别人的分析:
原文地址:UVA 550 - Multiplying by Rotation 解题报告作者:Code_Life_LiWan
这个题一开始没看懂什么意思,所以就放在那没做,还是今天pengnix跟我说了这个题,才开始做的。
题目就是给出三个数,jinzhi,lastnumber,chengshu.求出在jinzhi进制下最少几位数a使得a*chengshu的值最后一位变成最前一位,其他不变。为了说明问题,还是拿题目说明测试数据来说吧。
179487 * 4 = 717948(10进制)
4*7=28 28!=7 28/10=2
28=8;
4*8+2=34 34!=7 37/10=3
34=4;
4*4+3=19 19!=7 19/10=1
19=9;
4*9+1=37 37!=7 37/10=3
37=7;
4*7+3=31 31!=7 31/10=3
31=1;
4*1+3=7 7==7;(end)
为什么可以这样做呢 我们可以观察到 前一个数的余数一定是下一个数的乘数 这样算下来就满足 最后一位数变成第一位 其余的数不变的条件了
#include<cstdio> int main() { #ifdef LOCAL freopen("in.txt","r",stdin); #endif // LOCAL int b,last,f; while(scanf("%d%d%d",&b,&last,&f) !=EOF) { int i,cnt,N; N = last; i = cnt = 0; while(1) { if(last*f+i == N) { cnt++; break; } cnt++; last = last*f+i; i = last/b; last = last % b; } printf("%d\n",cnt); } return 0; }
相关文章推荐
- UVA 550 (暑假-数论 -B - Multiplying by Rotation)
- 寒假集训.Multiplying by Rotation
- UVA 550 Multiplying by Rotation (简单递推)
- UVA - 550 Multiplying by Rotation
- UvaOJ 550 - Multiplying by Rotation
- UVA - 550 Multiplying by Rotation
- Uva 550 - Multiplying by Rotation
- Multiplying by Rotation
- Uva 550 - Multiplying by Rotation
- Multiplying by Rotation
- UvaOJ 550 - Multiplying by Rotation
- UVa 550 - Multiplying by Rotation
- UVA - 550 Multiplying by Rotation 公式题
- virtual hust 2013.6.20 数论基础题目 C - Multiplying by Rotation
- Multiplying by Rotation
- Multiplying by Rotation
- UVa 550 - Multiplying by Rotation
- UVa 550 Multiplying by Rotation
- UVA550 Multiplying by Rotation
- UVA 550 - Multiplying by Rotation