数组字符操作--输出乘法竖式
一.问题描述
竖式问题。找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但所写程序中应该输出空格,而非小数点)。
样例输入:
2357
样例输出:
<1>
..775
X..33
-----
.2325
2325.
-----
25575
The number of solutions = 1
二.解题思路
这道题的意思就是在三位数与两位数相乘的竖式计算中,所有出现的数字必须在给定的集合中。
通过把每一步竖式中的数字拿出来挨个判断是否在集合中,来决定是否满足条件。
如何拆分呢,通过把数字转换为字符,就能更快地比较出。
三.代码展示
#include<stdio.h>
#include<string.h>int main()
{ int count = 0;int x, y, z;int i, ok; char s[20], buf[99];// 以字符的形式输入数字集合 scanf("%s", s); // 搜索满足的数字 for(int abc = 111; abc <= 999; abc++) for(int de = 11; de <= 99; de++) { // 每行对应的数字 x = abc*(de%10); y = abc*(de/10);z = abc*de;// 把数字转化为字符型,方便后续进行比较 sprintf(buf, "%d%d%d%d%d", abc, de, x, y, z); // 标志位 ok = 1; // 对拆分的字符挨个与数字集合中的进行匹配 for(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;
}
四.示例
数组字符操作--输出乘法竖式相关推荐
- 输入任意两个两位的自然数,输出它们完整的乘法竖式。
题目: 输入任意两个两位的自然数,输出它们完整的乘法竖式. 代码: 1 program shen17; 2 var 3 a,b,c,d:integer; 4 BEGIN 5 readln(a,b); ...
- 数学老师从没这么教过,乘法竖式中进位可以是多位(附Python实现与测试源码)...
大概十五年前,曾经写过一个C语言版本的类似代码.核心思想是:在乘法竖式计算过程中,每次的进位实际上是可以超过一位的,虽然老师从来没有这么教过. 这样的操作在Python中是没有必要的,因为Python ...
- 力扣题解:43. 字符串相乘:模拟“乘法竖式”
题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2", ...
- 还原竖式:下图的乘法竖式中,每一个星号代表一个数位。若出现的数字有且仅有2, 3, 5, 7四种,你能将此竖式完全还原吗?
题目 下图的乘法竖式中,每一个星号代表一个数位.若出现的数字有且仅有2, 3, 5, 7四种,你能将此竖式完全还原吗? 进一步,若将题目中的2, 3, 5, 7改为其它互异的四个数字,还存在要求的乘法 ...
- C语言有小数乘法,十道小数乘小数的乘法竖式计算并有答案
十道小数乘小数的乘法竖式计算并有答案以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 十道小数乘小数的乘法竖式计算并有答案 ...
- c语言横纵坐标乘法,C语言 · 猜算式 · 乘法竖式
题目:猜算式 你一定还记得小学学习过的乘法计算过程,比如: 273 x 15 ------ 1365 273 ------ 4095 请你观察如下的乘法算式 *** x *** ------- ...
- leetcode43(字符串相乘:模拟乘法竖式计算)
题目:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 输入: num1 = "123", num2 ...
- 两位小数乘两位小数竖式_小数乘法竖式
小数乘法教学内容:小数乘整数.教学目的:1.使学生理解小数乘整数的意义.2.掌握小数乘整数的计算法则,并能正确地运用法则进行计算.教学重.难点:小数乘整数的意义和计算法则.教学过程:一. 复习⑴复习因 ...
- c语言 乘法竖式,大整数的乘法运算-C语言版(转)
la)?lb:la; for (q=0;q =0;i--) //累加斜线间的数,i 为横纵坐标之和 { c=d; //将前一位的进位标志存入累加变量 c ma=max(0,i-la+1,i-lb+1) ...
最新文章
- 一个对称性解释三个宇宙学难题;引力波碰撞会发光?粘液霉菌助力寻找宇宙网 | 一周科技速览...
- LeetCode Pascal's Triangle
- 解决git@osc每次提交需要输入用户名密码的问题
- hdu 5199 map或二分或哈希
- JavaScript对UNIX时间戳的转换
- spring5高级编程_Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
- 3月任务--target
- 微软发布新品被指剽窃!交涉无果,两年开源项目被迫终结
- anaconda的安装与使用详细教程
- postgresql 并发访问_PostgreSQL并发控制(显式锁定)
- python粒子风暴代码_turtle爆炸粒子效果源码
- SAP License:用科学发展观认识会计
- 服务器下最大能容量多少文件,windows下一个文件夹下面最多可以放多少文件(ntfs格式略过)...
- 科创人·黑湖科技CEO周宇翔:To B产品不应忽视产品体验,制造业的未来是需求定义生产
- 固件中的单个二进制模拟:Tenda AC15 路由器 CVE-2018-5767 / CVE-2020-10987 漏洞分析与复现
- 仪表自动识别方法汇总
- 用echarts绘制瀑布图
- java 微信分享朋友圈 链接显示图片_【微信开发】-- 微信分享功能(分享到朋友和朋友圈显示图片和简介)...
- Spring漫画学习笔记(一) 什么是BeanDefinition
- 柠檬班Python高级软件测试开发2022年