首页 > 试题广场 >

数字的情绪

[编程题]数字的情绪
  • 热度指数:2285 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解

每个整数都希望可以整除很多数字,特别是它自身包含的数字,我们将整数分为三类:

1. 数字可以整除它包含的一部分数字,比如72,由,72两种数字组成,72可以整除2,我们称这个数字是开心的,用”H”表示。

2. 数字不能整除它包含的任何数字,比如73,由,73两种数字组成,73不能整除任何数,我们称这个数字是沮丧的,用”S”表示。

3. 数字可以整除它包含的所有数字,比如12,既可以整除1又可以整除2,我们称它是一个非常棒的数,用“G”表示。  (0可以被任何数整除。)


输入描述:
输入第一行包含一个整数T,表示数据组数(1<=T<=100). 接下来T行,每行包含一个正整数n(1<=n<=10^12),表示需要你判断的数字。


输出描述:
对于每组测试数据输出一行,“H”,“S”或“G”。表示整数种类。
示例1

输入

3
72
73
12

输出

H
S
G
头像 bandiaoz
发表于 2024-12-27 02:01:14
解题思路 题目要求将整数按照其数位的整除性质分为三类: H(Happy):数字可以被部分包含的数位整除 S(Sad):数字不能被任何包含的数位整除 G(Great):数字可以被所有包含的数位整除 解题思路: 对每个输入的数字,提取其所有数位 统计: 总数位个数(flag) 可以整除的数位个数 展开全文