【看书】竖式问题
2015-12-28 18:04
218 查看
问题描述:
找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。
写上补充一下这个题目所要表达的意思
同时还是继续考虑用MarkDown编辑器
怎么来写这种文章
这个题目是要求出所有满足
形如 abc*de 三位数乘以两位数
并且竖式过程中用到的数
都在集合”s”中
输出这样的竖式及总共有多少
《算法竞赛入门经典(第2版)》P41
找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。
[code]//样例输入 2357 //样例输出 <1> ..775 X..33 ----- .2325 2325. ----- 25575 The number of solutions = 1
写上补充一下这个题目所要表达的意思
同时还是继续考虑用MarkDown编辑器
怎么来写这种文章
这个题目是要求出所有满足
形如 abc*de 三位数乘以两位数
并且竖式过程中用到的数
都在集合”s”中
输出这样的竖式及总共有多少
[code]#include<stdio.h> #include<string.h> int main() { int count = 0; char s[20],buf[99]; scanf("%s",s); for(int abc = 111; abc <= 999; abc++) for(int de = 11; de <=99; de++) { int x=abc*(de%10),y=abc*(de/10),z=abc*de; sprintf(buf,"%d%d%d%d%d",abc,de,x,y,z); int ok=1; for(int i=0; i<strlen(buf); i++) if(strchr(s,buf[i])==NULL) ok=0; if(ok) { printf("<%d>\n",++count); printf("%5d\nX%4d\n-----\n%5d\n%4d\n-----\n%5d\n\n",abc,de,x,y,z); } } printf("The number of solutions = %d\n",count); return 0; }
《算法竞赛入门经典(第2版)》P41
相关文章推荐
- JavaScript 面向对象开发
- 分布式架构详解
- Android 自动化测试
- Keymob为你揭秘不为人知的移动广告奥秘
- 路由协议的优先级,以及管理距离AD和metric的区别
- 查看linux磁盘的各个目录大小
- offsetof与container_of宏[总结]
- 代码覆盖率 (Code Coverage)从简到繁 (一)
- fuel 6.1自动推送3控高可用centos 6.5 juno环境排错(一)
- Oracle PLSQL Developer安装配置
- NGUI的原理机制:深入剖析UIPanel,UIWidget,UIDrawCall底层原理
- Java调用R并打包成可执行的jar
- Ubuntu 15.04用包管理器安装node.js
- FZU 2214 Knapsack dp (转化背包)
- 使用java rsa 签名和验签,生成私钥和公钥
- iOS--错误集锦--iOS7.1系统,xcodeVersion 7.2,运行app出现上下黑边
- swift属性
- nginx 安装SSL
- Android(Android5.0)下毛玻璃(磨砂)效果如何实现?
- Hama学习总结