竖式问题的变形,求大佬给一段c的编程算法提示
问题描述:
下面的乘法竖式中,每个星号表示一个数字。已知竖式中出现的数字互异的四个数字为2,3,5,7,求还原竖式。
***
x **
——
****
****
——
*****
答
//返回一个数从后往前第n位的值,比如 fn(1234, 2)得到3
int fn(int x, int n) { ... } //这个函数你自己写
int main()
{
for (int i = 100; i < 000; i++)
{
for (int j = 10; j < 99; j++)
{
int x = i * fn(j, 1);
int y = i * fn(j, 2);
if (i * j < 10000) continue; //结果不是5位数
int z = i * j;
//此时第一排是i,第二排是j,第三排是x,第四排是y,最后一排是z,通过fn可以得到每一位的值
//下面写你的判断逻辑,什么叫数字互异的四个数字为2,3,5,7,我不是很清楚。如果满足逻辑,就是答案了。
}
}
}