Uva 725 除法
紫书P182
直接枚举 0~9 的全排列会超时,枚举fghij就可以了,计算出 abcde ,这里有一个新的函数,也可以不用咯,把每一位数据提取出来,while循环可以做到,这里的新的函数是,sprintf(buf,"%5d%5d",abcde,fghij); 格式化提取,把abcde,fghij每一位提取到字符串buf中,不足5位的补0。然后看每一个位是否都有。都有就是一个0~9的全排列。
![](/assets/blank.gif)
![](/assets/blank.gif)
/*#include <stdio.h> #include <algorithm>using namespace std;int main() {int n;int a[10] = {0,1,2,3,4,5,6,7,8,9};while(scanf("%d",&n),n) {bool flag = false;do {int s = 0;for(int i=0;i<5;i++) {s = s*10 + a[i];}int t = 0;for(int i=5;i<10;i++) {t = t*10 + a[i];}if(s%t==0&&s/t==n) {flag = 1;printf("%d%d%d%d%d / %d%d%d%d%d = %d\n",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],n);}}while(next_permutation(a,a+10));if(!flag)printf("There are no solutions for %d.\n",n);}return 0; } */#include <cstdio> #include <cstring> #include <algorithm>using namespace std;int main() {//freopen("in.txt","r",stdin);int n;int kase = 0;char buf[99];while(scanf("%d",&n),n) {if(kase++)printf("\n");int cnt = 0;for(int fghij = 1234;;fghij++) {int abcde = fghij*n;sprintf(buf,"%05d%05d",abcde,fghij);if(strlen(buf)>10) break;sort(buf,buf+10);bool ok = true;for(int i=0;i<10;i++) {if(buf[i]!='0'+i) ok = false;}if(ok) {cnt++;printf("%05d / %05d = %d\n",abcde,fghij,n);}}if(!cnt)printf("There are no solutions for %d.\n",n);}return 0; }
View Code
转载于:https://www.cnblogs.com/TreeDream/p/6034888.html
Uva 725 除法相关推荐
- 暴力枚举 UVA 725 Division
题目传送门 1 /* 2 暴力:对于每一个数都判断,是否数字全都使用过一遍 3 */ 4 #include <cstdio> 5 #include <iostream> 6 # ...
- uva 725 Division(暴力模拟)
Division 紫书入门级别的暴力,可我还是写了好长时间 = = [题目链接]uva 725 [题目类型]化简暴力 &题解: 首先要看懂题意,他的意思也就是0~9都只出现一遍,在这2个5位数 ...
- UVA 725 Division(除法)
输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2n79. 题解:暴力破解枚举fghij. #include<iostream ...
- 22行代码AC——例题7-1除法(Division UVa 725)——解题报告
励志用尽量少的代码做高效的表达 题目(提交)链接→UVa-725 题目大意: 0-9不重复的组成两个5位数,如果数A/数B=n,则为可行解. 思路分析: 本题实质是通过巧妙分析的暴力求解法. 下等解法 ...
- UVA 725 Divisions 除法(暴力,0 ms)
本题较为简单,将不会编写算法分析说明与代码编写指导. AC 代码(0 ms): #include<cstdio> #include<cstdlib> #include<c ...
- UVA - 725 Division-sprintf的妙用
题目: 输入整数n,按从小到大顺序输出所有形如abcde/fghij=n的表达式,其中a~j 恰好为0~9的一个排列(可以有前导0),2<=n<=79 解题思路: 暴力枚举. 下面这代码暴 ...
- 算法竞赛入门经典 第七章 总结
目录: 7.1 简单枚举 7.2 枚举排列 7.3 子集生成 7.1 简单枚举 例题7-1 除法(Division, UVa 725) 输入正整数n,按从小到大的顺序输出所有形如abcde/fghij ...
- 简单枚举 / 枚举排列
本文参考<算法竞赛入门经典>第七章<暴力枚举法>,提出的是暴力"列举"出所有可能性并一一试验的方法. 目录 1 简单枚举 2 枚举排列 2.1 生成1~n的 ...
- android texte进入不获取焦点,html之texteara
定义多行的文本输入控件,所有浏览器都支持,可容纳无限的文本,等宽的字体. 用css的height和width来设置其框框的大小是个很好的办法,其中的文本换行符为%OD/%OA(回车换行) html5中 ...
最新文章
- C#可选参数、命名参数、参数数组
- hive 安装_7.Hive介绍以及安装
- Android性能优化之启动优化实战篇,积累总结
- python web开发 jQuery基础
- 用nohup执行python程序时,print无法输出
- 计算机网络dns实验报告,计算机网络DNS以及HTTP协议实验报告
- [转]如何删除图片链接的蓝色边框?
- 记住不要把Bitmap往List等集合放
- Rayman的绝顶之路——Leetcode每日一题打卡16
- 一张图掌握产品经理绩效考核表实例
- 关于CAB打包的步骤
- 一些好听的纯音乐及下载
- 如何保存卡住的wps_wps卡住了怎么强制退出
- UNIX 系统家族树的详细历史(图)
- 递归算法详解——递归算法的三要素以及例题分析
- Python3的函数的详解
- 如何清空Github上某仓库,而不是删除
- 诺基亚 Lumia 1020的价格
- mysql索引命中查看_MySQL索引无法命中的几种情况及索引验证方法
- 云计算 码率适配限速_一种基于云计算的应用于用户终端的测速方法
热门文章
- jvm的发展历程:classic、exact、hotspot、BEA的JRockit、IBM的J9、 KVM和CDC/CLDC Hotspot、Azul VM、Liquid VM
- Linux reboot指令
- Linux shell文件测试运算符
- Spring实现web开发的环境搭建
- nginx解析php文件设置_nginx 解析php conf配置文件
- Qt 从C ++定义QML类型(一)
- 【精简解释】Java中native关键字作用
- mag6000变送器怎么使用_变送器的迁移原理和故障分析
- webview 修改html,使用自定义CSS在WebView中呈现HTML
- ios 点击出现另外一套tabbar_iOS开发中TabBar再次点击实现刷新效果