【3.3 竖式问题】
来源:互联网 发布:广州万户网络怎么样 编辑:程序博客网 时间:2024/05/01 23:22
竖式问题
题目:
找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。
样例输入:2357
样例输出:
<1>
..775
X..33
-----
.2325
2325.
-----
25575
The number of solutions = 1
题意:[code=C/C++][/code]
775 7 ,5在{2, 3, 5, 7}集合中
X 33 3在{2, 3, 5, 7}集合中
-----------------------------------------------------
2325 2,3,5在{2, 3, 5, 7}集合中
2325
------------------------------------------------------
25575 2, 5, 7在{2, 3, 5, 7}集合中
输入一个数,表示这个数组中含有这几个数的元素。
#include<stdio.h>#include<string.h>int main(){int i,j,abc,bc,c,count,n,ok,k;char s[20];char buf[100];scanf("%s",s);count=0;for(i=100;i<=999;i++)//书中从111,11开始。不知道为什么。for(j=10;j<=99;j++){abc=i*(j%10);bc=i*(j/10);c=i*j;n=sprintf(buf,"%d%d%d%d%d",i,j,abc,bc,c);ok=1;for(k=0;k<strlen(buf);k++)if(strchr(s,buf[k])==NULL)ok=0;if(ok){printf("<%d>\n",++count);printf("%5d\nX%4d\n--------\n%5d\n%4d\n--------\n%5d\n",i,j,abc,bc,c);}}printf("The number of soulutions=%d\n",count);}
总结:枚举法一次列出来。学习。srtchr(s,"c")函数。比较字符c 第一次出现在字符串s中的位置。返回指针。
不断优化代码,写简单易懂的代码。欢迎交流。
- 【3.3 竖式问题】
- 竖式问题
- 竖式问题
- 竖式问题
- 竖式问题
- 竖式表达式问题
- 竖式问题
- 竖式问题
- 竖式问题
- 竖式问题
- 竖式问题
- 竖式问题
- 竖式问题
- 竖式求解问题
- C++ 竖式问题
- 竖式问题
- 【看书】竖式问题
- 竖式问题
- Vi 编辑器的基本使用方法
- 【文摘】ABC(Always Be Coding)
- Linux bootloader 编写方法
- IPMsg
- faac 移植到android
- 【3.3 竖式问题】
- 使用 P3P 规范让 IE 跨域接受第三方 cookie
- Linux 下C语言编程基础
- 10个开源的PHP网站内容管理系统
- 深入剖析 uClinux
- Linux 学习指导
- DRUID数据库链接池
- 历时四年 iOS app原型工具Briefs背后的故事
- 广州传智播客.Net训练营六期开班典礼