当前位置:网站首页>【练习-6】(Uva 725)Division(除法)== 暴力
【练习-6】(Uva 725)Division(除法)== 暴力
2022-07-06 09:26:00 【火焰车】
翻译:
输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0 ~9的一个排列(可以有前导0),2≤n≤79
这道题不难,觉得挺有意思的,所以随便写写。
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5+5;
const ll mod = 1e9+7;
int num[20];
bool solve(int x1,int x2){
memset(num,0,sizeof num);
if(x2>98765)
return 0;
for(int i=0;i<5;i++)//取数
num[x1%10]++,num[x2%10]++,x1/=10,x2/=10;
for(int i=0;i<=9;i++)//判断是不是一个0~9的一个排列
if(num[i]!=1)
return 0;
return 1;
}
int main()
{
int n,cnt=0;
while(cin>>n && n)
{
int flag = 1;
for(int i=1234;i<=98765;i++)
{
if(solve(i,i*n))
{
flag = 0;
printf("%05d / %05d = %d\n",n*i,i,n);
}
}
if(flag)
printf("There are no solutions for %d.\n",n);
cout<<endl;
}
}
那么为什么这么写?首先我们把式子形式写成这样 A / B = C,然后就可以化简成了,A = B * C。而且C我们是已知这个时候,只要我们枚举B也就是分母,也可以把A给表示出来了。
所以思路就很清楚了,枚举B(一个),然后用B乘已经知道的C,得到A(两个)。判断A和B是不是0~9所有数字的排序就可以了!
判断简单啊做个循环就行了,而且我们知道B * C也就是A是不可能大于98765的,这样也可以作为一个终止条件。
边栏推荐
- 动态规划前路径问题
- Research Report of cylindrical grinder industry - market status analysis and development prospect forecast
- E. Breaking the Wall
- Learning record: USART serial communication
- 差分(一维,二维,三维) 蓝桥杯三体攻击
- JS --- BOM details of JS (V)
- VS2019初步使用
- MATLAB实例:阶跃函数的两种表达方式
- MATLAB综合练习:信号与系统中的应用
- 毕业才知道IT专业大学生毕业前必做的1010件事
猜你喜欢
毕业才知道IT专业大学生毕业前必做的1010件事
Matlab example: two expressions of step function
STM32学习记录:LED灯闪烁(寄存器版)
ucorelab3
LeetCode#19. Delete the penultimate node of the linked list
Learning records: serial communication and solutions to errors encountered
ucorelab3
学习记录:STM32F103 时钟系统概述工作原理
Learning record: use STM32 external input interrupt
差分(一维,二维,三维) 蓝桥杯三体攻击
随机推荐
Gartner:关于零信任网络访问最佳实践的五个建议
编程到底难在哪里?
学习记录:TIM—电容按键检测
JS --- all basic knowledge of JS (I)
Matlab comprehensive exercise: application in signal and system
Research Report on printed circuit board (PCB) connector industry - market status analysis and development prospect forecast
C语言学习笔记
Alice and Bob (2021牛客暑期多校训练营1)
VS2019初步使用
Opencv learning log 14 - count the number of coins in the picture (regardless of overlap)
Borg Maze (BFS+最小生成树)(解题报告)
Interesting drink
学习记录:使用STM32外部输入中断
STM32 learning record: play with keys to control buzzer and led
学习记录:STM32F103 时钟系统概述工作原理
Research Report on market supply and demand and strategy of China's Medical Automation Industry
FSM and I2C experiment report
Learning record: USART serial communication
Cost accounting [13]
Cost accounting [21]