[GESP202403 二级] 乘法问题

GESP编程共123题,本题是整站第1396题,已经有人完成了本题,加油!

题目描述

小 A 最初刚刚学习了乘法,为了帮助他练习,我们给他若干个正整数,并要求他将这些数乘起来。

对于大部分题目,小 A 可以精确地算出答案,不过,若这些数的乘积超过 10^6,小 A 就不会做了。

请你写一个程序,告诉我们小 A 会如何作答。

输入格式

第一行一个整数 n,表示正整数的个数。

接下来 n,每行一个整数 a。小 A 需要将所有的 a 乘起来。

输出格式

输出一行,如果乘积超过 10^6,则输出 >1000000;否则输出所有数的乘积。

输入输出样例

输入 #1

2
3
5

输出 #1

15

输入 #2

3
100
100
100

输出 #2

1000000

输入 #3

4
100
100
100
2

输出 #3

>1000000

说明/提示

数据规模与约定

对全部的测试数据,保证 1≤n≤50,1≤a≤100。

别灰心,再试一次!

真题解析

【题目大意】输入n个数,对这些数求积,检查乘积是否超过106

【考纲知识点】 基本数据类型(一级)、多层分支 /循环结构(二级)

【解题思路】

1.首先,读取整数n,表示正整数的个数。

2.初始化长整型变量product 为1,用于存储n个数的积。

3.接下来,使用 for循环来读取n个数,并且在每次循环中将读取的数与product 相乘。

4.在每次乘法之前,我们检查product 与当前读取的数相乘后是否会超过106。如果超过,输出">1000000" 并且立即结束程序。

5.如果循环没有中途结束,证明乘积没有超过106,直接输出product 的值。

注意:在乘法之前进行了是否超过106的检查,这是为了防止不必要的计算,一旦超过就立即结束程序。如果不提前检查乘积是否超过106在极端情况会出现溢出错误。

【参考程序】

本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。