如果我们列出10以内的所有自然数,它们能够被3或5整除。

于是我们找到这些数:3, 5, 6, 9
它们的和是23

那么找出1000以内所有能够被3和5整除的数,它们的和是多少?

来源:问题1

系统消息 若觉得内容不错,请点击左上角的"赞"图标,以优化网站的内容呈现。 另外,请及时验证注册邮箱,否则收不到21QA发出的红包。 官方Q群:250203055

asked 20 Sep '14, 21:52

%E5%8E%9F%E9%87%8E%E4%B9%8B%E7%8B%BC's gravatar image

原野之狼
1.9k9399116

编辑于 30 Sep '14, 09:00

原题描述不够严谨,建议修正。

“被3和5整除”,应该是“被3或5整除”才对,否则就要理解成能够“同时”被3和5整除的数了,也即能被15整除的数。

(30 Sep '14, 07:28) sherwin sherwin's gravatar image

n = 3 * sum(1, 1000 / 3) + 5 * sum(1, 1000 / 5) - 15 * sum(1, 1000 / 15) = 166833 + 100500 - 33165 = 234168

系统消息 若觉得内容不错,请点击左上角的"赞"图标,以优化网站的内容呈现。 另外,请及时验证注册邮箱,否则收不到21QA发出的红包。 官方Q群:250203055
permanent link

answered 28 Oct '14, 15:27

%E4%BD%A0%E6%9C%AC%E5%A6%82%E5%8E%BB's gravatar image

你本如去
1866

其实还可以进一步化简,sum(1, 1000 / 3)这些都是最基本的等差数列,直接求和公式求和

(30 Oct '14, 10:04) liang7143 liang7143's gravatar image

用强大的python求解:

print sum(i for i in range(1000) if i % 3 == 0 or i % 5 == 0)

运行结果:

233168

系统消息 若觉得内容不错,请点击左上角的"赞"图标,以优化网站的内容呈现。 另外,请及时验证注册邮箱,否则收不到21QA发出的红包。 官方Q群:250203055
permanent link

answered 20 Sep '14, 21:58

%E5%8E%9F%E9%87%8E%E4%B9%8B%E7%8B%BC's gravatar image

原野之狼
1.9k9399116

C++说这个是常数,不用求解

template< int N> struct count{ enum { V = ((N-(N/3)*3)&&(N-(N/5)*5)?0:N)+count<n-1>::V}; };

template<> struct count<0>{ enum { V = 0}; };

count<999>::V == 233168

系统消息 若觉得内容不错,请点击左上角的"赞"图标,以优化网站的内容呈现。 另外,请及时验证注册邮箱,否则收不到21QA发出的红包。 官方Q群:250203055
permanent link

answered 13 Oct '14, 22:01

lxyppc's gravatar image

lxyppc
11

编辑于 13 Oct '14, 22:03

哈哈 估计百分之九十九的人没有看懂 要不 @lxyppc 科普一下?

(14 Oct '14, 09:03) 原野之狼 %E5%8E%9F%E9%87%8E%E4%B9%8B%E7%8B%BC's gravatar image

可以重开一贴进行科普~

(14 Oct '14, 09:07) 原野之狼 %E5%8E%9F%E9%87%8E%E4%B9%8B%E7%8B%BC's gravatar image

这个编译会慢死,其实如果知道结果的话查表法是最快的

(28 Oct '14, 15:17) 你本如去 %E4%BD%A0%E6%9C%AC%E5%A6%82%E5%8E%BB's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link: [text](http://url.com/ "title")
  • image: ![alt](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×33
×5

question asked: 20 Sep '14, 21:52

question was seen: 3,452 times

last updated: 30 Oct '14, 10:04

powered by O*S*Q*A

粤ICP备14040061号-1