质数竖式?题目是什么意思?题目都看不懂,汗那~~~
质数竖式下面的竖式是一个乘法运算问题,它的每个*号可以代入一个数字,这个数字属于一个特定的由N个数字组成的集合。如果这个集合是{2,3,5,7},那么这个竖式称作“质数竖式”。
* * *
X * *
---------
* * *
* * *
-----------
* * * *
写一个程序找出对应于集合{1,2,3,4,5,6,7,8,9}的任意一个子集的所有竖式。用集合{2,3,4,6,8}和质数集合{2,3,5,7}来测试你的程序。
运行举例:
ENTER A SET OF DIG99vS:23468
2 2 2
X 2 2
----------
4 4 4 <还有3个竖式未显示>
4 4 4
----------
4 8 8 4
The number of unique solutions=4
----------------解决方案--------------------------------------------------------
模拟人的运算步骤就行了
我写了个高精的运算 用的就是这个方法
先输入两个数组 s1 s2 然后用下面的函数
void mul(int *s1, int *s2, int *s) {
for (i=0; i<strlen(a1); i++)
for (j=0; j<strlen(a2); j++)
s[i+j]+=s1[i]*s2[j];//这个就是主要的算法
int k=100;
while (!s[k])
--k;
for (i=0,j=0; i<=k; i++) {
s[i+1]+=s[i]/10;
s[i]%=10;
}
}
----------------解决方案--------------------------------------------------------
什么意思?题目叫我做什么的?不懂~
----------------解决方案--------------------------------------------------------
题目的意思是这样,
提供给你了那个竖式,里面数字都是未知的,需要你填入数字,使这个竖式成立,
另外还有一个限制的条件,就是可以填入的数字不是任意的,而是题目给你的,
比如题目给了你这个集合{2,3,4,6,8},那么你只能在这5个数里面找数字填入,使竖式成立
----------------解决方案--------------------------------------------------------
才10^5的穷举量,离线算法最好
----------------解决方案--------------------------------------------------------
-,- 楼上的又申请了一个号 ..~
----------------解决方案--------------------------------------------------------
为啥2,3,4,6,8我只能找到题目中提供的那个竖式呢?谁能把其它的三个竖式贴出来看看
----------------解决方案--------------------------------------------------------
哦,又试了一下,如果不限制乘积的位数,才能有4个答案
----------------解决方案--------------------------------------------------------
哈哈......
----------------解决方案--------------------------------------------------------
谁用c写下看看
----------------解决方案--------------------------------------------------------