悠然随心
发表于 2017-7-3 22:20:03
Plinskin 发表于 2017-7-3 17:21
print "To Find The Sum Of All The Multiples Of 3 Or 5 Below 1000"
counterNum=0
因为题目是1000以下,而你包含了1000,不知我说的对不对{:10_323:}
portcc
发表于 2017-7-7 16:55:25
x=0
y=0
for i in range(0,1000):
if i%3 ==0:
x = x+i
for i in range(0,1000):
if i%5 ==0 and i%3!=0:
y= y+i
print(x+y)
结果为 233168.
燃烧的发丝
发表于 2017-7-24 21:32:57
本帖最后由 燃烧的发丝 于 2017-7-24 21:45 编辑
// 非枚举算法
//循环333次即可
// 计算时间 为枚举算法的 3分之1 计算结果为233168
#include <iostream>
int main()
{
static int x3 = 3;
static int x5 = 5;
static int x15 = 15;
static int x = 0;
while (true)
{
if (x3 < 1000)
{
x += x3;
x3 += 3;
if (x5 < 1000)
{
x += x5;
x5 += 5;
}
if (x15 < 1000)
{
x -= x15;
x15 += 15;
}
}
else
{
break;
}
}
std:: cout<< "1000以下的自然数中,属于3或5的倍数的数字之和为:" <<
x << std::endl;
}
燃烧的发丝
发表于 2017-7-24 21:43:41
本帖最后由 燃烧的发丝 于 2017-7-24 21:46 编辑
{:5_97:} {:5_97:}
学了小甲鱼的数据结构与算法 思维还真是不一样了;
EFishC
发表于 2017-7-25 17:18:29
#include<stdio.h>
int main()
{
int sum = 0,i;
for(i = 1;i < 1000;i++)
{
if((i % 3 == 0 ) || (i % 5 == 0))
{
sum += i;
}
else
{
continue;
}
printf("sum = %d\n",sum);
}
结果是233168.
砚凉—
发表于 2017-7-28 16:07:42
1.桶排序 重复次数为1的数相加 缺点:占内存
2.for循环 执行时间长if(n%3==0)
{
if(n%5==0)
{
s+=n;
break;
}
sum+=n;
}
if(n%5==0&&n%15!=0)
sum+=n;
sum+=s;
看云20101
发表于 2017-8-2 16:20:00
sum = 0
for i in range(0,1000):
if(i%3==0) or (i%5==0):
sum += i
else:
sum += 0
print(sum)
麦特的灰
发表于 2017-8-7 08:05:51
sum = 0
for i in range(1001):
if i%3==0 or i%5==0:
sum +=i
print ("1000以内3或者5的倍数的和为:%d" % sum)
麦特的灰
发表于 2017-8-7 08:07:34
sum = 0
for i in range(1000):
if i%3==0 or i%5==0:
sum +=i
print ("1000以内3或者5的倍数的和为:%d" % sum)
向西而笑
发表于 2017-8-18 18:12:22
一行搞定:
sum()
Kotori
发表于 2017-9-9 07:42:40
#include <stdio.h>
int main(void)
{
int i;
int sum = 0;
for (i=1;i<1000;i++)
{
if (i%3 == 0 || i%5 == 0)
{
sum += i;
}
}
printf("1000以下的自然数中,属于3和5的倍数的数字之和:%d", sum);
return 0;
}
遇见2017
发表于 2017-9-24 22:11:42
gongxiaobo2006 发表于 2015-4-24 14:25
我的结果是233168!哈哈哈哈哈
s=3*sum(1:333)+5*sum(1:200);
s=267333
jerryxjr1220
发表于 2017-9-29 15:38:28
AArdio编译
import console;
import time.timer
console.setTitle("test");
time.timer.start();
sum = 0;
for(i=3;999;3){
sum += i
}
for(i=5;999;5){
sum += i
}
for(i=15;999;15){
sum -= i
}
console.print(sum);
console.print(time.timer.endTick())
console.pause();
233168
0.45397067070007
请按任意键继续 ...
???
发表于 2017-10-20 15:56:58
print(sum())
编程新血
发表于 2017-11-1 20:04:47
本帖最后由 编程新血 于 2017-11-1 20:18 编辑
python3:
l3=list(range(3,1000,3))
l5=list(range(5,1000,5))
listz=list(set(l3+l5))
print(sum(listz))
取3的倍数列表,与5的倍数列表组合一起,去掉重复选项,
结果是233168
zjhnz
发表于 2018-1-4 10:30:56
#include <stdio.h>
int main(void)
{
int i;
long sum=0;
for(i=1; i<1000; i++)
{
if (i%3==0 || i%5==0)
{
sum=sum+i;
}
}
printf("%ld",sum);
}
artistlu
发表于 2018-1-31 00:11:28
1 #include <stdio.h>
2
3 int multiSum(int, int);
4
5 int multiSum(int max, int n)
6 {
7 int total, maxMulti;
8
9 maxMulti = max / n;
10 return(maxMulti * (maxMulti + 1)) / 2 * n;
11 }
12
13 int main(void)
14 {
15 int total;
16 total = multiSum(1000, 3) + multiSum(1000, 5) - multiSum(1000, 3 * 5);
17 printf("%d\n", total); //234168
18 return 0;
19 }
由我们主宰
发表于 2018-3-4 15:08:52
#include<stdio.h>
int main()
{
int i,sum=0;
for(i=0;i<1000;i++)
{
if(i%3==0||i%5==0)
{
sum=sum+i;
}
}
printf("%d\n",sum);
return 0;
}
°蓝鲤歌蓝
发表于 2018-3-4 20:23:05
sum1 = sum()
victor.xu
发表于 2018-3-14 13:16:49
def f(n):
s = 0
for i in range(n):
if i % 3 == 0 or i % 5 == 0:
s += i
return s
num = 1000
result = f(1000)
print('1000以内,3或5的倍数的数字之和为:%d' % result)
页:
1
2
3
4
5
[6]
7
8
9
10
11
12
13
14