【问题描述】输入一个整数,求该整数上的各位数是否包含数字5,若有,则按从低到高的顺序输出第几位,若没有则输出-1
时间: 2024-05-14 14:18:23 浏览: 20
您可以按照以下步骤解决这个问题:
1. 将整数转换为字符串,方便逐位判断数字是否为5。
2. 逐位判断数字是否为5,若是则记录该位数的位置。
3. 若存在数字5,则按照从低到高的顺序输出记录的位置;若不存在数字5,则输出-1。
下面是Python代码实现:
```python
num = int(input()) # 输入整数
num_str = str(num) # 转换为字符串
positions = [] # 记录数字5的位置
# 逐位判断数字是否为5,若是则记录位置
for i in range(len(num_str)):
if num_str[i] == '5':
positions.append(i+1)
# 判断是否存在数字5
if len(positions) == 0:
print(-1)
else:
# 按照从低到高的顺序输出记录的位置
for pos in positions:
print(pos, end=' ')
```
例如,输入整数`15325`,则输出`2 4 5`,表示该整数上的第2、4、5位是数字5。如果输入整数`1234`,则输出`-1`,表示该整数上不包含数字5。
相关问题
题目描述: 输出1 n中能被3整除,且至少有一位数字是5的所有整数. 输入格式: 输
题目要求输出1到n之间能被3整除且至少有一位数字是5的所有整数。
首先,我们需要判断一个整数是否能被3整除。我们可以利用整数的特性,即一个整数被3整除,其各位数字之和也能被3整除。因此,我们遍历1到n之间的每个整数,对每个数求各位数字的和,然后判断该和是否能被3整除。
其次,我们需要判断一个整数是否至少有一位是5。我们可以将整数转化为字符串,然后检查字符串中是否包含字符'5'。
综上所述,我们可以使用以下算法来解决这个问题:
1. 输入整数n。
2. 初始化一个空列表result,用于存储满足条件的整数。
3. 遍历1到n之间的每一个整数i。
- 将i转化为字符串。
- 如果字符串中包含字符'5'并且i能被3整除,则将i添加到result列表中。
4. 输出result列表。
下面是一个具体的例子来演示算法的运行过程:
假设n为20。
1. 输入整数n:20。
2. 初始化一个空列表result,result = []。
3. 遍历1到20之间的每一个整数i:
- 当i为1时,将1转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为2时,将2转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为3时,将3转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为4时,将4转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为5时,将5转化为字符串,字符串中包含字符'5',将5添加到result列表中。
- 当i为6时,将6转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为7时,将7转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为8时,将8转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为9时,将9转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为10时,将10转化为字符串,字符串中包含字符'5',跳过此次循环。
- 当i为11时,将11转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为12时,将12转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为13时,将13转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为14时,将14转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为15时,将15转化为字符串,字符串中包含字符'5',将15添加到result列表中。
- 当i为16时,将16转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为17时,将17转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为18时,将18转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为19时,将19转化为字符串,字符串中不包含字符'5',跳过此次循环。
- 当i为20时,将20转化为字符串,字符串中不包含字符'5',跳过此次循环。
4. 输出result列表:[5, 15]。
所以,当输入为20时,输出为[5, 15]。
【问题描述】 编写java程序实现两个超长正整数(每个最长80位数字)的减法运算。 【输入形式】 从键盘读入两个整数,要考虑输入高位可能为0的情况(如00083)。 1. 第一行是超长正整数A; 2. 第二行是超长正整数B; 【输出形式】 输出只有一行,是长整数A减去长整数B的运算结果,从高到低依次输出各位数字。要求:若结果为0,则只输出一个0;否则输出的结果的最高位不能为0,并且各位数字紧密输出。 【输入样例】 234098 134098703578230056 【输出样例】 -134098703577995958 【样例说明】 进行两个正整数减法运算, 234098 -134098703578230056 = -134098703577995958。
好的,下面给出一个实现两个超长正整数减法的Java程序:
```java
import java.math.BigInteger;
import java.util.Scanner;
public class SubtractLongNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读入两个超长正整数
BigInteger a = scanner.nextBigInteger();
BigInteger b = scanner.nextBigInteger();
// 计算差值
BigInteger diff = a.subtract(b);
// 输出结果
System.out.println(diff.toString());
}
}
```
这个程序使用了Java标准库中的`BigInteger`类来处理超长整数。`BigInteger`类可以表示任意大小的整数,并提供了一系列数学运算方法,包括加减乘除、取模、幂等等。
在这个程序中,我们首先使用`Scanner`类从标准输入读入两个超长正整数`a`和`b`。然后,使用`subtract()`方法计算它们的差值,并将结果保存在一个`BigInteger`对象`diff`中。最后,使用`toString()`方法将差值转换成字符串,并输出到标准输出。
这个程序的输出格式和要求相符,可以处理输入高位为0的情况,也可以处理输入非法的情况(例如输入非数字字符)。
您可以将上述代码保存为`SubtractLongNumbers.java`文件,然后使用JDK编译器编译并运行它。例如,假设您已经将`SubtractLongNumbers.java`文件保存在当前目录下,可以使用以下命令编译它:
```
javac SubtractLongNumbers.java
```
然后,使用以下命令运行它:
```
java SubtractLongNumbers
```
这将从标准输入读入两个超长正整数,并输出它们的差值。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)