Division UVA - 725
2017-01-20 16:47
232 查看
#include <string.h> #include <stdio.h> int a[10]; int fun(int x, int y) { if(x < 10000) a[0] ++; if(y < 10000) a[0] ++; int i; while(x > 0){ a[x % 10] ++; x /= 10; } while(y > 0){ a[y % 10] ++; y /= 10; } for(i = 0; i <= 9; i++){ if(a[i] > 1) return 0; } return 1; } int main(void) { int n; int flag = 0; while(scanf("%d", &n) == 1 && n){ if(!flag) flag = 1; else printf("\n"); int i, num, count = 0; for(i = 1234; i < 98765; i++){ memset(a, 0, sizeof(a)); num = n * i; if(num > 98765) break; if(fun(num, i)){ printf("%05d / %05d = %d\n", num, i, n); count++; } } if(!count) printf("There are no solutions for %d.\n", n); } return 0; }
暴力枚举分母,分子大于98765时跳出循环
注意格式啊!
除号打成反斜杠也是没谁,还有 " . "
最后多输出一个空行的话会提示格式错误
都是细节
相关文章推荐
- 浅析时钟向量算法
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- C#递归算法之分而治之策略
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- C#算法之大牛生小牛的问题高效解决方法
- Lua和C语言的交互详解
- C#算法函数:获取一个字符串中的最大长度的数字
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 经典排序算法之冒泡排序(Bubble sort)代码
- Android数据加密之异或加密算法的实现方法
- 关于C语言中参数的传值问题