UVa 550 - Multiplying by Rotation
来源:互联网 发布:启明软件待遇 编辑:程序博客网 时间:2024/04/28 20:14
题目:给你一个X数字的尾数k,进制m以及一个乘数n,求使得X*n等于k*10^log(X)+(X/10)。
即使得X的尾数放在首位,其余数字整体向后移动一位。求X的最小值。
分析:模拟。每次利用当前为计算下一位即可。F(i+1) = (F(i)*n + save(i))%m。
save为上一次计算的进位,save(i+1) = (F(i)*n + save(i))/m。
说明:在纸上模拟一下运算就清楚了。
#include <iostream>#include <cstdlib>#include <cstdio>using namespace std;int main(){int m,k,n;while ( ~scanf("%d%d%d",&m,&k,&n) ) {int count = 1,now = k,save = 0,temp;while ( now*n+save != k ) {temp = now;now = (temp*n+save)%m;save = (temp*n+save)/m;count ++;}printf("%d\n",count);}return 0;}
0 0
- uva 550 - Multiplying by Rotation
- Uva 550 - Multiplying by Rotation
- uva 550 - Multiplying by Rotation
- UVa 550 Multiplying by Rotation
- UVa 550 - Multiplying by Rotation
- UVA 550 - Multiplying by Rotation
- UVa 550 - Multiplying by Rotation
- UVa 550: Multiplying by Rotation
- UVA 550 - Multiplying by Rotation
- Uva 550 - Multiplying by Rotation
- uva 550 - Multiplying by Rotation
- uva 550 Multiplying by Rotation
- uva 550 - Multiplying by Rotation
- UVa 550 - Multiplying by Rotation
- UVa 550 - Multiplying by Rotation
- Uva 550 Multiplying by Rotation
- UVA - 550 Multiplying by Rotation
- UVa 550 Multiplying by Rotation
- Git 分支管理
- corejavaI---action(动作)
- 详解div+css相对定位和绝对定位用法
- 最新版继续教育学习软件下载地址
- HOOK----send
- UVa 550 - Multiplying by Rotation
- saadfd
- OCP 1Z0 052 126
- 测试测试测试测试
- dfbbg
- excel自动填充脚本(awk)
- 数字电视标准综述(1)
- vTune Amplifier XE 2013 cannot display data
- 数字电视标准综述(2)