蓝桥杯第五届 神奇算式(字符串处理函数)

    xiaoxiao2021-03-25  39

    由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。 比如: 6 x 210 = 1260 8 x 473 = 3784 27 x 81 = 2187 都符合要求。 如果满足乘法交换律的算式算作同一种情况,那么,包含上边已列出的3种情况,请输出剩余的满足要求的算式且按照第一个因数从小到大排列,第一个因数相等,按照第二个因数从小到大排列

    #include<stdio.h> #include<iostream> #include<string.h> #include<algorithm> using namespace std; int main() { char s1[4],s2[4],s3[6]; for(int i=1;i<999;i++) for(int j=1;j<999;j++) { int sum=i*j; if(sum<=9999 && sum>=1000 && i<j) { sprintf(s3,"%d",sum); sort(s3,s3+4); int k=1; for(;k<4;k++) if(s3[k-1]==s3[k]) break; if(k==4) { sprintf(s1,"%d",i); sprintf(s2,"%d",j); strcat(s1,s2); sort(s1,s1+4); if(strcmp(s1,s3)==0) printf("%d*%d=%d\n",i,j,sum); } } } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-50331.html

    最新回复(0)