一.问题描述

竖式问题。找出所有形如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. 输入任意两个两位的自然数,输出它们完整的乘法竖式。

    题目: 输入任意两个两位的自然数,输出它们完整的乘法竖式. 代码: 1 program shen17; 2 var 3 a,b,c,d:integer; 4 BEGIN 5 readln(a,b); ...

  2. 数学老师从没这么教过,乘法竖式中进位可以是多位(附Python实现与测试源码)...

    大概十五年前,曾经写过一个C语言版本的类似代码.核心思想是:在乘法竖式计算过程中,每次的进位实际上是可以超过一位的,虽然老师从来没有这么教过. 这样的操作在Python中是没有必要的,因为Python ...

  3. 力扣题解:43. 字符串相乘:模拟“乘法竖式”

    题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2", ...

  4. 还原竖式:下图的乘法竖式中,每一个星号代表一个数位。若出现的数字有且仅有2, 3, 5, 7四种,你能将此竖式完全还原吗?

    题目 下图的乘法竖式中,每一个星号代表一个数位.若出现的数字有且仅有2, 3, 5, 7四种,你能将此竖式完全还原吗? 进一步,若将题目中的2, 3, 5, 7改为其它互异的四个数字,还存在要求的乘法 ...

  5. C语言有小数乘法,十道小数乘小数的乘法竖式计算并有答案

    十道小数乘小数的乘法竖式计算并有答案以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 十道小数乘小数的乘法竖式计算并有答案 ...

  6. c语言横纵坐标乘法,C语言 · 猜算式 · 乘法竖式

    题目:猜算式 你一定还记得小学学习过的乘法计算过程,比如: 273 x   15 ------ 1365 273 ------ 4095 请你观察如下的乘法算式 *** x   *** ------- ...

  7. leetcode43(字符串相乘:模拟乘法竖式计算)

    题目:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 输入: num1 = "123", num2 ...

  8. 两位小数乘两位小数竖式_小数乘法竖式

    小数乘法教学内容:小数乘整数.教学目的:1.使学生理解小数乘整数的意义.2.掌握小数乘整数的计算法则,并能正确地运用法则进行计算.教学重.难点:小数乘整数的意义和计算法则.教学过程:一. 复习⑴复习因 ...

  9. c语言 乘法竖式,大整数的乘法运算-C语言版(转)

    la)?lb:la; for (q=0;q =0;i--) //累加斜线间的数,i 为横纵坐标之和 { c=d; //将前一位的进位标志存入累加变量 c ma=max(0,i-la+1,i-lb+1) ...

最新文章

  1. 一个对称性解释三个宇宙学难题;引力波碰撞会发光?粘液霉菌助力寻找宇宙网 | 一周科技速览...
  2. LeetCode Pascal's Triangle
  3. 解决git@osc每次提交需要输入用户名密码的问题
  4. hdu 5199 map或二分或哈希
  5. JavaScript对UNIX时间戳的转换
  6. spring5高级编程_Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
  7. 3月任务--target
  8. 微软发布新品被指剽窃!交涉无果,两年开源项目被迫终结
  9. anaconda的安装与使用详细教程
  10. postgresql 并发访问_PostgreSQL并发控制(显式锁定)
  11. python粒子风暴代码_turtle爆炸粒子效果源码
  12. SAP License:用科学发展观认识会计
  13. 服务器下最大能容量多少文件,windows下一个文件夹下面最多可以放多少文件(ntfs格式略过)...
  14. 科创人·黑湖科技CEO周宇翔:To B产品不应忽视产品体验,制造业的未来是需求定义生产
  15. 固件中的单个二进制模拟:Tenda AC15 路由器 CVE-2018-5767 / CVE-2020-10987 漏洞分析与复现
  16. 仪表自动识别方法汇总
  17. 用echarts绘制瀑布图
  18. java 微信分享朋友圈 链接显示图片_【微信开发】-- 微信分享功能(分享到朋友和朋友圈显示图片和简介)...
  19. Spring漫画学习笔记(一) 什么是BeanDefinition
  20. 柠檬班Python高级软件测试开发2022年

热门文章

  1. MCU(单片机)datasheet(规格说明书)
  2. 区块链游戏乐块,到底行不行?
  3. 国密算法SM4加密,数据加密存储加密
  4. c语言1000内所有素数组成的集合,【汇编程序】实现输出1000以内所有素数
  5. 计算机专业的就业方向
  6. 腾讯安心生态联盟正式成立 联动伙伴开放技术助力“数字兴农”
  7. 【力扣】765. 情侣牵手
  8. Andorid-20k+的面试题
  9. 手机阅读PDF时怎么调到夜间模式?
  10. java判断浏览器杂项_java简单代码判断浏览器代码