首页 > 编程 > C++ > 正文

第四届蓝桥杯C++B组——马虎的算式

2019-11-06 06:30:00
字体:
来源:转载
供稿:网友
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ?他却给抄成了:396 x 45 = ?但结果却很戏剧性,他的答案竟然是对的!!因为 36 * 495 = 396 * 45 = 17820类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?

纯暴力

#include <iostream>#include <cstring>#include <string>#include <vector>#include <queue>#include <cstdio>#include <set>#include <cmath>#include <algorithm>#include <queue>#define INF 0x3f3f3f3f#define MAXN 100005#define Mod 10001using namespace std;int main(){ int cnt=0; for(int a=1; a<=9; ++a) for(int b=1; b<=9; ++b) for(int c=1; c<=9; ++c) for(int d=1; d<=9; ++d) for(int e=1; e<=9; ++e) { if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e) { int x=(a*10+b)*(c*100+d*10+e); int y=(a*100+d*10+b)*(c*10+e); if(x==y) { cnt++; cout<<a<<b<<" "<<c<<d<<e<<"="<<x<<endl; cout<<a<<d<<b<<" "<<c<<e<<"="<<y<<endl<<endl; } } } cout<<cnt<<endl; return 0;}
上一篇:{搬运}C++卡常技巧

下一篇:GDB 调试C++

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选