紫书P182

直接枚举 0~9 的全排列会超时,枚举fghij就可以了,计算出 abcde ,这里有一个新的函数,也可以不用咯,把每一位数据提取出来,while循环可以做到,这里的新的函数是,sprintf(buf,"%5d%5d",abcde,fghij); 格式化提取,把abcde,fghij每一位提取到字符串buf中,不足5位的补0。然后看每一个位是否都有。都有就是一个0~9的全排列。

/*#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 除法相关推荐

  1. 暴力枚举 UVA 725 Division

    题目传送门 1 /* 2 暴力:对于每一个数都判断,是否数字全都使用过一遍 3 */ 4 #include <cstdio> 5 #include <iostream> 6 # ...

  2. uva 725 Division(暴力模拟)

    Division 紫书入门级别的暴力,可我还是写了好长时间 = = [题目链接]uva 725 [题目类型]化简暴力 &题解: 首先要看懂题意,他的意思也就是0~9都只出现一遍,在这2个5位数 ...

  3. UVA 725 Division(除法)

    输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2n79. 题解:暴力破解枚举fghij. #include<iostream ...

  4. 22行代码AC——例题7-1除法(Division UVa 725)——解题报告

    励志用尽量少的代码做高效的表达 题目(提交)链接→UVa-725 题目大意: 0-9不重复的组成两个5位数,如果数A/数B=n,则为可行解. 思路分析: 本题实质是通过巧妙分析的暴力求解法. 下等解法 ...

  5. UVA 725 Divisions 除法(暴力,0 ms)

    本题较为简单,将不会编写算法分析说明与代码编写指导. AC 代码(0 ms): #include<cstdio> #include<cstdlib> #include<c ...

  6. UVA - 725 Division-sprintf的妙用

    题目: 输入整数n,按从小到大顺序输出所有形如abcde/fghij=n的表达式,其中a~j 恰好为0~9的一个排列(可以有前导0),2<=n<=79 解题思路: 暴力枚举. 下面这代码暴 ...

  7. 算法竞赛入门经典 第七章 总结

    目录: 7.1 简单枚举 7.2 枚举排列 7.3 子集生成 7.1 简单枚举 例题7-1 除法(Division, UVa 725) 输入正整数n,按从小到大的顺序输出所有形如abcde/fghij ...

  8. 简单枚举 / 枚举排列

    本文参考<算法竞赛入门经典>第七章<暴力枚举法>,提出的是暴力"列举"出所有可能性并一一试验的方法. 目录 1 简单枚举 2 枚举排列 2.1 生成1~n的 ...

  9. android texte进入不获取焦点,html之texteara

    定义多行的文本输入控件,所有浏览器都支持,可容纳无限的文本,等宽的字体. 用css的height和width来设置其框框的大小是个很好的办法,其中的文本换行符为%OD/%OA(回车换行) html5中 ...

最新文章

  1. C#可选参数、命名参数、参数数组
  2. hive 安装_7.Hive介绍以及安装
  3. Android性能优化之启动优化实战篇,积累总结
  4. python web开发 jQuery基础
  5. 用nohup执行python程序时,print无法输出
  6. 计算机网络dns实验报告,计算机网络DNS以及HTTP协议实验报告
  7. [转]如何删除图片链接的蓝色边框?
  8. 记住不要把Bitmap往List等集合放
  9. Rayman的绝顶之路——Leetcode每日一题打卡16
  10. 一张图掌握产品经理绩效考核表实例
  11. 关于CAB打包的步骤
  12. 一些好听的纯音乐及下载
  13. 如何保存卡住的wps_wps卡住了怎么强制退出
  14. UNIX 系统家族树的详细历史(图)
  15. 递归算法详解——递归算法的三要素以及例题分析
  16. Python3的函数的详解
  17. 如何清空Github上某仓库,而不是删除
  18. 诺基亚 Lumia 1020的价格
  19. mysql索引命中查看_MySQL索引无法命中的几种情况及索引验证方法
  20. 云计算 码率适配限速_一种基于云计算的应用于用户终端的测速方法

热门文章

  1. jvm的发展历程:classic、exact、hotspot、BEA的JRockit、IBM的J9、 KVM和CDC/CLDC Hotspot、Azul VM、Liquid VM
  2. Linux reboot指令
  3. Linux shell文件测试运算符
  4. Spring实现web开发的环境搭建
  5. nginx解析php文件设置_nginx 解析php conf配置文件
  6. Qt 从C ++定义QML类型(一)
  7. 【精简解释】Java中native关键字作用
  8. mag6000变送器怎么使用_变送器的迁移原理和故障分析
  9. webview 修改html,使用自定义CSS在WebView中呈现HTML
  10. ios 点击出现另外一套tabbar_iOS开发中TabBar再次点击实现刷新效果