两个问题,问最好的计算方法
(1)给定一个正整数n,将n的各位数字倒排得到m,已知mn,求n。(2)给定一个正整数n,将n的各位数字倒排得到m,已知m/n,求n。 估计前者比后者好求,毕竟已知乘积,其约数是有限的;而已知商,是无法确知除数被除数的。
比如对于一位数的n,或者正反序是一样的n,得到的 m/n=1 > b=integer(0);a=0;for(i in 1:9)for(j in 0:9)for(k in i:9){a=a+1;b=(i*100+j*10+k)*(k*100+j*10+i)};c=as.integer(names(table(b)));for(i in 1:9)for(j in 0:9)for(k in i:9)if(((i*100+j*10+k)*(k*100+j*10+i))%in%c)print(c(i,j,k,(i*100+j*10+k)*(k*100+j*10+i)))
1 4 4 63504
1 5 6 101556
1 6 8 144648
2 5 2 63504
2 7 3 101556
2 7 6 185472
2 9 4 144648
3 8 4 185472
144*441=252^2
刚刚尝试回复结果被防火墙拦截了……
话说第一问如果m跟n都是素数……我们岂不是要做一个RSA?
页:
[1]