蓝桥杯-神奇算式

2019-03-01  本文已影响0人  黑夜里不灭的路灯

标题:神奇算式
由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。
比如:
210 x 6 = 1260
8 x 473 = 3784
27 x 81 = 2187
都符合要求。
如果满足乘法交换律的算式算作同一种情况,那么,包含上边已列出的3种情况,一共有多少种满足要求的算式。
请填写该数字,通过浏览器提交答案,不要填写多余内容(例如:列出所有算式)。

#include<bits/stdc++.h>
using namespace std;
char s1[4], s2[4];
char s3[10];
int k;
int sum,ans;

int main()
{
    for(int i=1; i<=999; i++)
    {
        for(int j=1; j<=999; j++)
        {
            sum=i*j;
            if(sum>=1000&&sum<=9999&&i<j)
            {
                sprintf(s3,"%d",sum);
            }
            for(k=1; k<4; k++)
            {
                if(s3[k-1]==s3[k])
                    break;
            }
            if(k==4)
            {
                sort(s3,s3+4);
                sprintf(s1,"%d",i);//将i转换为字符串
                sprintf(s2,"%d",j);//将转换为字符串
                strcat(s1,s2);//连接i和j的字符串
                sort(s1,s1+4);
                if(strcmp(s1,s3)==0)
                {
                    ans++;
                    printf("%d * %d= %d\n",i,j,sum);
                }
            }
        }

    }
    cout<<ans<<endl;
}
上一篇下一篇

猜你喜欢

热点阅读