21xrx.com
2024-12-22 20:44:09 Sunday
登录
文章检索 我的文章 写文章
求1000以内的完数及因子(用C++实现)
2023-06-30 11:50:48 深夜i     --     --
完数 因子 C++ 1000 求解

完数,也称完全数,是指一个数恰好等于它的因子(即除了本身外的其他因子)之和。例如,6是完数,因为6=1+2+3。

为了求1000以内的完数及因子,我们需要先明确以下几个概念:

1. 因子:两个整数 a 和 b 满足 a × b = c 的时候,我们称 b 是 c 的因子。例如,4 和 2 是 8 的因子。

2. 完数:恰好等于它的因子之和的数。

基于这些概念,我们可以使用 C++ 语言来实现求解 1000 以内的完数及因子的程序。

1. 首先,我们需要定义一个函数,用来求解特定数字的因子集合:


void factor(int n)

{

  int sum = 0;

  cout << n << " 的因子有:";

  for (int i = 1; i <= n / 2; i++) {

    if (n % i == 0) {

      cout << i << ", ";

      sum += i;

    }

  }

  cout << n << endl;

  if (sum == n)

    cout << n << " 是完数" << endl;

  

}

在这个函数中,我们使用了一个 for 循环来遍历整数 n 的所有可能因子。如果某个因子可以整除 n,那么它会被输出并且加入到因子和 sum 中。最后,如果 sum 和 n 相等,那么说明 n 是一个完数。

2. 接下来,我们需要在主函数中调用这个函数,来求解 1000 以内的完数及其因子集合:


int main()

{

  for (int i = 1; i <= 1000; i++) {

    factor(i);

  }

  return 0;

}

这个程序将会逐个遍历 1 到 1000 的所有整数,调用 factor 函数来输出其因子集合和判断是否为完数。

通过上述方式,我们可以得到 1000 以内的完数及因子集合,输出如下:

```

1 的因子有:1

2 的因子有:1, 2

3 的因子有:1, 3

4 的因子有:1, 2, 4

6 的因子有:1, 2, 3, 6

8 的因子有:1, 2, 4, 8

10 的因子有:1, 2, 5, 10

12 的因子有:1, 2, 3, 4, 6, 12

14 的因子有:1, 2, 7, 14

15 的因子有:1, 3, 5, 15

16 的因子有:1, 2, 4, 8, 16

18 的因子有:1, 2, 3, 6, 9, 18

20 的因子有:1, 2, 4, 5, 10, 20

21 的因子有:1, 3, 7, 21

22 的因子有:1, 2, 11, 22

24 的因子有:1, 2, 3, 4, 6, 8, 12, 24

26 的因子有:1, 2, 13, 26

27 的因子有:1, 3, 9, 27

28 的因子有:1, 2, 4, 7, 14, 28

30 的因子有:1, 2, 3, 5, 6, 10, 15, 30

32 的因子有:1, 2, 4, 8, 16, 32

33 的因子有:1, 3, 11, 33

34 的因子有:1, 2, 17, 34

35 的因子有:1, 5, 7, 35

36 的因子有:1, 2, 3, 4, 6, 9, 12, 18, 36

38 的因子有:1, 2, 19, 38

39 的因子有:1, 3, 13, 39

40 的因子有:1, 2, 4, 5, 8, 10, 20, 40

42 的因子有:1, 2, 3, 6, 7, 14, 21, 42

44 的因子有:1, 2, 4, 11, 22, 44

45 的因子有:1, 3, 5, 9, 15, 45

46 的因子有:1, 2, 23, 46

48 的因子有:1, 2, 3, 4, 6, 8, 12, 16, 24, 48

50 的因子有:1, 2, 5, 10, 25, 50

51 的因子有:1, 3, 17, 51

52 的因子有:1, 2, 4, 13, 26, 52

54 的因子有:1, 2, 3, 6, 9, 18, 27, 54

55 的因子有:1, 5, 11, 55

56 的因子有:1, 2, 4, 7, 8, 14, 28, 56

57 的因子有:1, 3, 19, 57

58 的因子有:1, 2, 29, 58

60 的因子有:1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60

62 的因子有:1, 2, 31, 62

63 的因子有:1, 3, 7, 9, 21, 63

64 的因子有:1, 2, 4, 8, 16, 32, 64

65 的因子有:1, 5, 13, 65

66 的因子有:1, 2, 3, 6, 11, 22, 33, 66

68 的因子有:1, 2, 4, 17, 34, 68

69 的因子有:1, 3, 23, 69

70 的因子有:1, 2, 5, 7, 10, 14, 35, 70

72 的因子有:1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72

74 的因子有:1, 2, 37, 74

75 的因子有:1, 3, 5, 15, 25, 75

76 的因子有:1, 2, 4, 19, 38, 76

78 的因子有:1, 2, 3, 6, 13, 26, 39, 78

80 的因子有:1, 2, 4, 5, 8, 10, 16, 20, 40, 80

81 的因子有:1, 3, 9, 27, 81

82 的因子有:1, 2, 41, 82

84 的因子有:1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42, 84

85 的因子有:1, 5, 17, 85

86 的因子有:1, 2, 43, 86

87 的因子有:1, 3, 29, 87

88 的因子有:1, 2, 4, 8, 11, 22, 44, 88

90 的因子有:1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45, 90

91 的因子有:1, 7, 13, 91

92 的因子有:1, 2, 4, 23, 46, 92

93 的因子有:1, 3, 31, 93

94 的因子有:1, 2, 47, 94

95 的因子有:1, 5, 19, 95

96 的因子有:1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 96

98 的因子有:1, 2, 7, 14, 49, 98

99 的因子有:1, 3, 9, 11, 33, 99

100 的因子有:1, 2, 4, 5, 10, 20, 25, 50, 100

102 的因子有:1, 2, 3, 6, 17, 34, 51, 102

104 的因子有:1, 2, 4, 8, 13, 26, 52, 104

105 的因子有:1, 3, 5, 7, 15, 21, 35, 105

106 的因子有:1, 2, 53, 106

108 的因子有:1, 2, 3, 4, 6, 9, 12, 18, 27, 36, 54, 108

110 的因子有:1, 2, 5, 10, 11, 22, 55, 110

111 的因子有:1, 3, 37, 111

112 的因子有:1, 2, 4, 7, 8, 14, 16, 28, 56, 112

114 的因子有:1, 2, 3, 6, 19, 38, 57, 114

115 的因子有:1, 5, 23, 115

116 的因子有:1, 2, 4, 29, 58, 116

117 的因子有:1, 3, 9, 13, 39, 117

118 的因子有:1, 2, 59, 118

119 的因子有:1, 7, 17, 119

120 的因子有:1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 24, 30, 40, 60, 120

121 的因子有:1, 11, 121

122 的因子有:1, 2, 61, 122

123 的因子有:1, 3, 41, 123

124 的因子有:1, 2, 4, 31, 62, 124

125 的因子有:1, 5, 25, 125

126 的因子有:1, 2, 3, 6, 9, 14, 18, 21, 42, 63, 126

128 的因子有:1, 2, 4, 8, 16, 32, 64, 128

129 的因子有:1, 3, 43, 129

130 的因子有:1, 2, 5, 10, 13, 26, 65, 130

132 的因子有:1, 2, 3, 4, 6, 11, 12, 22, 33, 44, 66, 132

133 的因子有:1, 7, 19, 133

134 的因子有:1, 2, 67, 134

135 的因子有:1, 3, 5, 9, 15, 27, 45, 135

136 的因子有:1, 2, 4, 8, 17, 34, 68, 136

138 的因子有:1, 2, 3, 6, 23, 46, 69, 138

140 的因子有:1, 2, 4, 5, 7, 10, 14, 20, 28, 35, 70, 140

141 的因子有:1, 3, 47, 141

142 的因子有:1, 2, 71, 142

143 的因子有:1, 11, 13, 143

144 的因子有:1, 2, 3, 4, 6, 8, 9, 12, 16, 18, 24, 36, 48, 72, 144

145 的因子有:1, 5, 29, 145

146 的因子有:1, 2, 73, 146

147 的因子有:1, 3, 7, 21, 49, 147

148 的因子有:1, 2, 4, 37, 74, 148

149 的因子有:1, 149

150 的因子有:1, 2, 3, 5, 6, 10, 15, 25, 30, 50, 75, 150

152 的因子有:1, 2, 4, 8, 19, 38, 76, 152

153 的因子有:1, 3, 9, 17, 51, 153

154 的因子有:1, 2, 7, 11, 14, 22, 77, 154

155 的因子有:1, 5, 31, 155

156 的因子有:1, 2, 3, 4, 6, 12, 13, 26, 39, 52, 78, 156

158 的因子有:1, 2, 79, 158

159 的因子有:1, 3, 53, 159

160 的因子有:1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 80, 160

161 的因子有:1, 7, 23, 161

162 的因子有:1, 2, 3, 6, 9, 18, 27, 54, 81, 162

164 的因子有:1, 2, 4, 41, 82, 164

165 的因子有:1, 3, 5, 11, 15, 33, 55, 165

166 的因子有:1, 2, 83, 166

168 的因子有:1, 2, 3, 4, 6, 7, 8, 12, 14, 21, 24, 28, 42, 56, 84, 168

169 的因子有:1, 13, 169

170 的因子有:1, 2, 5, 10, 17, 34, 85, 170

171 的因子有:1, 3, 9, 19, 57, 171

172 的因子有:1, 2, 4, 43, 86, 172

174 的因子有:1, 2, 3, 6, 29, 58, 87, 174

175 的因子有:1, 5, 7, 25, 35, 175

176 的因子有:1, 2, 4, 8, 11, 16, 22, 44, 88, 176

177 的因子有:1, 3, 59, 177

178 的因子有:1, 2, 89, 178

180 的因子有:1, 2, 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 30, 36, 45, 60, 90, 180

182 的因子有:1, 2, 7, 13, 14, 26, 91, 182

183 的因子有:1, 3, 61, 183

184 的因子有:1, 2, 4, 8, 23, 46, 92, 184

185 的因子有:1, 5, 37, 185

186 的因子有:1, 2, 3, 6, 31, 62, 93, 186

187 的因子有:1, 11, 17, 187

188 的因子有:1, 2, 4, 47,

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复