C程序-2018年第九届蓝桥杯B组-第三题:乘积尾零

2023-11-11

如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?

5650 4542 3554 473 946 4114 3871 9073 90 4329 
2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 
9937 1173 6866 3397 4759 7557 3070 2287 1453 9899 
1486 5722 3135 1170 4014 5510 5120 729 2880 9019 
2049 698 4582 4346 4427 646 9742 7340 1230 7683 
5693 7015 6887 7381 4172 4341 2909 2027 7355 5649 
6701 6645 1671 5978 2704 9926 295 3125 3878 6785 
2066 4247 4800 1578 6652 4616 1113 6205 3264 2915 
3966 5291 2904 1285 2193 1428 2265 8730 9436 7074 
689 5510 8243 6114 337 4096 8199 7313 3685 211 

注意:需要提交的是一个整数,表示末尾零的个数。不要填写任何多余内容。

分析:要计算乘积末尾有多少个“0”,就要计算数据本身有多少个“0”,还有偶数乘以“5”也会有“0”,

因此要统计数据中有多少因子“5”和“2”,以少 的个数为准。
 

第一次处理这道题的代码,不想删掉,留着纪念,记录着自己的进步

#include<stdio.h>
int i;
int s[100];
int ql(int a,int b)//计算所有数据末尾0数和 
{
    if (a%10!=0) 
    {
        s[i]=a;
        return b;
    }
    if (a%10==0) return ql(a/10,b+1);
}
int qw(int a,int b)//所有数据有多少个因子5 
{
    if (a%5!=0)
    {
        s[i]=a;
        return b;
    }
    if (a%5==0) return qw(a/5,b+1);
}
int main()
{
    int x,y,z;
    x=y=z=0;
    freopen ("sj.txt","r",stdin);//从txt文件中读入数据 ,必须与.c文件在同一个文件夹 
    for (i=0;i<100;i++)
    scanf ("%d",&s[i]);//用数组接收数据 
    for (i=0;i<100;i++)//处理数据 
    {
            z=z+ql(s[i],0);//调用函数
            y=y+qw(s[i],0);//调用函数
    }
    for (i=0;i<100;i++) //打印被处理后的数据 
    {
        printf ("%.4d ",s[i]);
        if ((i+1)%10==0) printf ("\n");
    }
    for (i=0;i<100;i++)//计算数据中有多少 因子“2” 
    {
        if (s[i]%2==0) x++;
    }
    
    printf ("x=%d,y=%d,z=%d",x,y,z); 
    return 0;
}  

优化后的代码

#include<stdio.h>

const int N=100; 
int s[N];
int factor(int a,int b,int n,int i)//求a中含有因子b的数目n 
{
	if (a%b!=0) 
	{
		s[i]=a;
		return n;
	}
	else return factor(a/b,b,n+1,i);
}

int main()
{
	int x,y,z,i;
	x=y=z=0;
	freopen ("sj.txt","r",stdin);//从txt文件中读入数据 ,必须与.c文件在同一个文件夹 
	
	for (i=0;i<100;i++)//处理数据 
	{
		scanf ("%d",&s[i]);//用数组接收数据 
		x=x+factor(s[i],10,0,i);//计算数据末尾本身0的数目 
		y=y+factor(s[i],5,0,i);//计算数据中有5因子的数目 
		z=z+factor(s[i],2,0,i);//计算数据中有2因子的数目
	}
	for (i=0;i<100;i++) //打印被处理后的数据 
	{
		printf ("%.4d ",s[i]);
		if ((i+1)%10==0) printf ("\n");
	}
	
	printf ("x=%d, y=%d, z=%d\n",x,y,z); 
	return 0;
}  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C程序-2018年第九届蓝桥杯B组-第三题:乘积尾零 的相关文章

  • 【Selenium】获取属性

    文章目录 1 获取窗体属性 1 1 获取网页标题 1 2 获取网址 1 3 获取浏览器名称 1 4 获取网页源码 2 获取元素属性 2 1 获取元素的文本内容 2 2 获取元素属性 2 3 获取其他属性 1 获取窗体属性 1 1 获取网页标
  • 深度学习笔记二:多层感知机(MLP)与神经网络结构

    为了尽量能形成系统的体系 作为最基本的入门的知识 请参考一下之前的两篇博客 神经网络 一 概念 神经网络 二 感知机 上面的两篇博客让你形成对于神经网络最感性的理解 有些看不懂的直接忽略就行 最基本的符号的记法应该要会 后面会用到一这两篇博
  • SpringBoot整合SpringSecurity认证与授权

    唠嗑部分 在项目开发中 权限认证是很重要的 尤其是一些管理类的系统 对于权限要求更为严格 那么在Java开发中 常用的权限框架有哪些呢 推荐的有两种 Shiro 与 SpringSecurity 当然也可以结合切面自己实现 Shiro是Ap
  • 算法分析与设计编程题 递归与分治策略

    棋盘覆盖 题目描述 解题代码 para 棋盘 行偏移 列偏移 特殊行 特殊列 void dividedCovering vector
  • BifroMQ:五分钟了解百度开源旗下消息中间件

    BifroMQ 并不是一个独立的公司 而是由一家名为 Bifrost 的公司开发的一款产品 Bifrost 公司成立于 2014 年 总部位于中国北京 是一家专注于开源技术的公司 当时 Bifrost 公司的创始人陈明发起了开源项目 iPr
  • 一步步开发自己的OS操作系统

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 以MSP430单片机为例控制4个灯以不同频率闪烁 把原理搞清楚了一通则百通 可以举一返三 注 以下所讲的堆栈即栈 因为堆栈说习惯了 堆是堆栈是栈 MSP430有16个寄存器
  • 关于linux服务器上生成的图片中文字为的乱码问题

    一 功能描述 linux服务器后端生成图表 使用了canvas和echarts 并将生成的图片发送到企业微信群里 二 出现的问题 生成的图表中文展示不出来 是乱码 错误图表展示如下 三 文字乱码出现的原因 linux服务器没有对应的文字 四
  • mysql删除以什么开头的数据_Mysql如何删除以“#sql-”开头的临时表

    MySQL如何删除以 sql 开头的临时表 现象 在重建索引后 发现Mysql服务器的磁盘空间快满了 在用如下命令重建索引 mysql gt alter table skatetab add unique index id uid drop
  • java agentlib jdwp,JDWP无依赖攻击

    JDWP JDWP 是 Java Debug Wire Protocol 的缩写 在JPDA Java Platform Debugger Architecture 中 它定义了调试器 debugger 和被调试的 Java 虚拟机 tar
  • LevelHelper-NG

    LevelHelper 的克隆 放在 github上 自取 放一张谍照 Qt4 8 4 vs2010

随机推荐

  • 一些简单的变量以及C语言的基本格式

    一些比较关键的操作 枚举关键 enum MALE REMALE SECRET叫做枚举变量 scanf是C语言提供的 scanf 不是标准C语言提供的而是VS编译器提供的 尽量不要使用会使程序失去可移植性 define CRT SECURE
  • 空时自适应处理用于机载雷达——空时处理基础知识(Matla代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 机载阵列雷达信号环境 2 2 空时处理基础知识 2 3 元素空间空时自适应处理 2
  • 一文了解游戏美术开发流程,以及可能遇到的问题

    想了解典型的游戏资产开发工作流吗 一个团队的游戏美术流程取决于几个因素 包括游戏开发工作室类型 正在开发的游戏类型和开发团队成员的数量等 继续往下阅读 你能了解游戏美术开发流程 所使用的工具 以及可能出现的问题 什么是游戏资产工作流 游戏资
  • windows10内置的Ubuntu系统 开启浏览器界面,安装Xming

    1 安装Xming 2 安装完直接打开 Xming 即可 3 安装一个firefox测试 apt get install firefox 4 运行 在程序指令前加上 DISPLAY 0 DISPLAY 0 firefox 5 简化配置 每次
  • 利用栈来完成表达式求值

    利用栈来完成表达式求值 一个表达式要求值 分为操作数部分和运算符部分 求值的过程便是运算符对操作数进行操作 首先我们定义两个栈 一个栈存放运算符 先放个 进去 代表开始 然后记得结束最后一个字符也是 这样代表结束 然后建立一个栈存放操作数
  • 提车自检手册(3系,其他车辆类似)

    一 检查铭牌 1 检查铭牌车辆生产日期 大于半年pass 玻璃 大灯 轮胎的生产日期不得大于车辆生产日期 二 检查轮胎 1 是否全部为米其林轮胎 zp 4 防爆胎 2 检查全部轮胎日期 4个数字 后俩位年份 前俩位第几周 三 检查玻璃 1
  • 下载百度地图瓦片的方法

    为什么80 的码农都做不了架构师 gt gt gt 续上篇 Web版百度地图加载离线瓦片 本文贴出下载瓦片的简易程序 百度地图瓦片的下载其实很容易 拿到下载链接然后批量下载就行了 不过由于需要按照规则来存储 最好自己写个程序去下载这些链接
  • linux系统中的iscsi网络磁盘共享及其卸载

    什么是ISCSI ISCSI主要是透过TCP IP技术 将存储设备端透过iscsi target iscsi 目标端 功能 做成可以提供磁盘的服务器端 再透过iscsi initiator iscsi初始化用户 功能 做成能够挂载使用使用i
  • 前端学习之Ajax(二)

    1 核心方法 首先对知识进行一下回顾 1 创建一个XMLHttpRequest对象 2 准备发送请求的数据 URL 3 调用XMLHttpRequest对象的open方法 4 调用XMLHttpRequest对象的send方法 5 为XML
  • 用C++写一个简易的矩阵运算类

    前段时间做了一个机器人的仿真开发 需要用到矩阵运算 于是自己写了一套 分享出来 easyMat h class easyMat private uint16 t row uint16 t col public float data easy
  • html treedemo目录树默认打开,layui实现checkbox的目录树tree的例子

    废话不多说啦 我就直接上代码吧 需要的朋友可以过来参考下 layui use tree function layui jquery form layui form 获取节点数据 getTreeData function getTreeDat
  • 在CentOS系统中安装Nginx

    以下是在CentOS系统中安装Nginx的步骤 1 更新系统软件包 sudo yum update 2 安装EPEL存储库 sudo yum install epel release 3 安装Nginx sudo yum install n
  • __attribute__ ((at())绝对定位分析

    在学习STM32 IAP 时 遇到了关于数组存储空间绝对定位的问题 例如 u8 USART RX BUF USART REC LEN attribute at 0X20001000 首先我们先搞懂这里的两个关键字 1 attribute 是
  • linux lvm 扩大pv的大小,LVM管理:创建、容量调整

    一 LVM简介 LVM 是逻辑盘卷管理 Logical Volume Manager 的简称 最早是 IBM 为 AIX 研发的存储管理机制 LVM 通过在硬盘和分区之间建立一个逻辑层 可以让多个分区或者物理硬盘作为一个逻辑卷 相当于一个逻
  • 温度传感器工作原理

    参考文章 1 DS18B20传感器的原理 秀秀很久没写文章了的博客 CSDN博客 ds18b20工作原理 2 常见测温传感器及电路原理图 朽木白露的博客 CSDN博客 温度传感器原理图 3 温度传感器工作原理 知乎 温度传感器工作原理 温度
  • react父组件调用子组件方法

    前期我们说了父子组件互相通过props传递数据的方法 这个应该都可以理解 其实今天说的这个 父组件直接调用子组件方法 也类似 先看代码 比较直观 import React Component from react export defaul
  • 论文分享丨西工大音频语音与语言处理研究组四篇论文被IEEE Trans. ASLP和SPL录用

    近日 实验室三篇论文被语音研究顶级期刊IEEE ACM Transactions on Audio Speech and Language Processing TASLP 录用 一篇论文被重要期刊IEEE Signal Processin
  • 深入解析Invoke and BeginInvoke, 同步与异步解析

    Invoke and BeginInvoke 本文后面的源代码分析在我的博客园博客 就是此链接 在 Invoke 或者 BeginInvoke 的使用中无一例外地使用了委托 Delegate 至于委托的本质请参考我的另一随笔 对 net事件
  • python 描述符

    目录 引入 什么是描述符 描述符类型 共享陷阱 应用场景 验证器 ORM 描述符是 Python 语言中一个强大的特性 它隐藏在编程语言的底层 为许多神奇的魔法提供了便利 引入 假设你需要一个学生类 来记录考试的分数 简单写如下 class
  • C程序-2018年第九届蓝桥杯B组-第三题:乘积尾零

    如下的10行数据 每行有10个整数 请你求出它们的乘积的末尾有多少个零 5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3051 443