蓝桥杯 第五届 C组A 神奇算式
2017-02-12 13:08
288 查看
由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字
组成。
210 x 6 = 1260
8 x 473 = 3784
27 x 81 = 2187
答案:15
组成。
比如:
210 x 6 = 1260
8 x 473 = 3784
27 x 81 = 2187
都符合要求。 如果满足乘法交换律的算式算作同一种情况,那么,包含上边已列出的3种情况, 一共有多少种 满足要求的算式。 请填写该数字,通过浏览器提交答案,不要填写多余内容(例如:列出所有算式)。
答案:15
#include<stdio.h> #include<stdlib.h> int main(){ int a[10],b[10]; int i,j,k,flag; int num,sum=0; for(i=1;i<10;i++){ for(j=100;j<1000;j++){ if(i*j<1000) continue; for(k=0;k<10;k++){ a[k]=b[k]=0; } num=i*j; while(num){ b[num%10]++; num/=10; } k=j; while(k){ a[k%10]++; k/=10; } a[i]++; flag=1; for(k=0;k<10;k++){ if(a[k]!=b[k]){ flag=0; break; } } if(flag){ sum++; } } } sum*=2; for(i=10;i<100;i++){ for(j=10;j<100;j++){ if(i*j<1000) continue; for(k=0;k<10;k++){ a[k]=b[k]=0; } num=i*j; while(num){ b[num%10]++; num/=10; } k=j; while(k){ a[k%10]++; k/=10; } k=i; while(k){ a[k%10]++; k/=10; } flag=1; for(k=0;k<10;k++){ if(a[k]!=b[k]){ flag=0; break; } } if(flag){ sum++; } } } printf("%d\n",sum/2); return 0; }
相关文章推荐
- 【第五届蓝桥杯】神奇算式
- 第五届蓝桥杯之神奇算式
- 第五届蓝桥杯省赛--神奇算式
- 第五届蓝桥杯省赛解题报告--神奇算式
- 第五届蓝桥杯软件类省赛真题-C-A-3_神奇算式
- 蓝桥杯第五届 神奇算式(字符串处理函数)
- 第五届蓝桥杯C++A组 神奇算式
- 神奇的算式——第五届蓝桥杯省赛C语言A组第5题
- 第五届蓝桥杯软件类国赛真题-C-C-2_神奇6位数
- 蓝桥杯真题:(猜年龄,切面条,神奇算式)
- 蓝桥杯:神奇算式
- 2014年第五届蓝桥杯预赛题目JAVA软件开发高职高专组马虎的算式
- 2014蓝桥杯问题 C: 神奇算式
- 蓝桥杯 神奇算式 dfs
- 蓝桥杯 神奇算式
- 蓝桥杯: 标题:神奇算式
- 蓝桥杯 神奇算式
- 2014蓝桥杯--神奇算式
- 【蓝桥杯】【神奇算式】
- 蓝桥杯 神奇算式