标题:9数算式
观察如下的算式:
9213 x 85674 = 789314562
左边的乘数和被乘数正好用到了1~9的所有数字,每个1次。
而乘积恰好也是用到了1~9的所有数字,并且每个1次。
请你借助计算机的强大计算能力,找出满足如上要求的9数算式一共有多少个?
注意:
1. 总数目包含题目给出的那个示例。
2. 乘数和被乘数交换后作为同一方案来看待。
答案: 1625
#include <iostream>
#include <string>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//全局变量
int flag[10] = {0};
int count = 0;
int sumcount= 0;
int str2int(char *str, int begin, int end);//字符变成整型数据
string int2str(int num);//整型数据变成字符型数据
//判断计算结果是否满足1-9
bool is_ok(int num)
{
int temp;
for(int i = 0; i < 10; i++)
{
flag[i] = 0;
}
string str = int2str(num);
if(str.size() != 9)
{
return 0;
}
for(int i = 0; i < 9; i++)
{
temp = str[i] - '0';
if(temp != 0 && flag[temp] == 0)
{
flag[temp] = 1;
}
else
{
return 0;
}
}
return 1;
}
//将排序的数字分为两个部分,进行相乘运算
vo