未uva550(数论)
来源:互联网 发布:中标麒麟装软件 编辑:程序博客网 时间:2024/05/23 15:07
Warning: Not all numbers in this problem are decimalnumbers!
Multiplication of natural numbers in general is a cumbersomeoperation. In some cases however the product can be obtained bymoving the last digit to the front.
Example: 179487 * 4 = 717948
Of course this property depends on the numbersystem you use, in theabove example we used the decimal representation. In base 9 we havea shorter example:
17 * 4 = 71 (base 9)
as (9 * 1 + 7) * 4 = 7 * 9 + 1
Input
The input for your program is a textfile. Each line consists ofthree numbers separated by a space: the base of the number system,the least significant digit of the first factor, and the secondfactor. This second factor is one digit only hence less than thebase. The input file ends with the standard end-of-file marker.Output
Your program determines for each input line the number of digits ofthe smallest first factor with the rotamultproperty. Theoutput-file is also a textfile. Each line contains the answer forthe corresponding input line.Sample Input
10 7 49 7 417 14 12
Sample Output
624
题意:这题看了N久就是不理解题意。。看看力哥的解法吧。。
题意:给出一个进制,一个数的最低位,和别的的一个数,比如10进制,第一个数字的最低位是7,第二个数字是4,
和规矩(XXXXX7 * 4 = 7XXXXX,例子:179487 * 4 = 717948 )求出第一个数字的最小长度。
看起来很难,其实动笔写写就熟悉打听了。输入k,m,n,本来的数字为s,因为s的最后一位为m,则s*n的最后一位为s*n%k,而s*n%k又是s的倒数第二位,如许又可以策画出ans*n的倒数第二位;因为知道最低位,所以次低位一定是最低位*第二个数�se。以此类推,递归下去即可。
最终条件是,没有进位了,而且乘积+原来的进位==最低位。
以此类推,直到乘积+本来的进位==最低位。
17 * 4 = 71 (base 9)
as (9 * 1 + 7) * 4 = 7 * 9 + 1
#include<cstdio>
using namespace std;
{
}
- 未uva550(数论)
- UVA550
- uva550
- UVA550-移位乘法
- UVa550 Multiplying by Rotation
- Multiplying by Rotation UVA550
- UVA550 Multiplying by Rotation
- UVA550 Multiplying by Rotation
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 单链表操作大全C语言实现
- 杭电3342解题报告
- 机遇偏爱有准备的头脑
- poj3259(Bellman_ford)
- 1poj2524(套模板并查集)
- 未uva550(数论)
- ExtAspNet快速入门 - 原生Ajax与PageManager控件
- 1uva408(数论)
- uva10916
- 1cf136div2
- 1poj1598(字符串)
- 1poj2240(bellman_ford||floyd)
- 我的博客今天0岁231天了,我领取了…
- poj2240(bellman_ford||floyd)