鱼C论坛

 找回密码
 立即注册
楼主: 欧拉计划

题目1:找出1000以下自然数中3和5的倍数之和

  [复制链接]
发表于 2020-2-29 15:41:57 | 显示全部楼层
#include <stdio.h>
int main(void)
{
        int i,sum=0;
        for (i=1;i<1000;i++)
        {
                if(!(i%3)||!(i%5)) sum+=i;
        }
        printf("%d",sum);
        return 0;
}
233168
--------------------------------
Process exited after 0.006581 seconds with return value 0
请按任意键继续. . .
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 15:49:06 | 显示全部楼层
WilliamYu 发表于 2015-10-19 18:46
int sum, sum1, sum2, sum3, a, b, c;
a = 999 / 3;
b = 999 / 5;


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-24 14:46:53 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-9-15 18:54 编辑
public static int sum2(){
        int sum = 0;
        for (int i = 0; i < 1000; i++) {
            if(i % 3 == 0 || i % 5 == 0){
                sum += i;
            }
        }
        return sum;
    }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-31 11:04:41 | 显示全部楼层
def sum_(num):
    return sum([i for i in range(1000) if i%3 ==0 or i%5 ==0])
if __main__ =='main':
    num = 1000
    print(sum_(num))

点评

应该是 __name__ == "__main__"  发表于 2020-9-15 18:55
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-12 10:58:11 | 显示全部楼层
#include <stdio.h>
int main()
{
        int i,sum;
        while(i<1000)
        {
                i++;
                if(i%3==0||i%5==0)
                {
                        printf("%d\t",i);
                        sum+=i;
                }
        }
        printf("\n1000以内3或5的倍数之和是%d",sum);
        return 0;
}
我的结果是234169想问一下是什么地方有问题呢。为啥和别人的不一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-19 18:00:24 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-4-19 18:02 编辑
1226395154 发表于 2020-4-12 10:58
我的结果是234169想问一下是什么地方有问题呢。为啥和别人的不一样


i和sum都没有指定值,所以他们的值是随机的
不过我这里连编译都没过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 13:21:38 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-5-2 20:22 编辑

C++ 0ms
#include<iostream>
using namespace std;

int main() {
    int sum = 0;

    for (short i = 1; i < 1000; i++) {
        if (!(i % 3 && i % 5)) {
            sum += i;
        }
    }

    cout << sum << endl;
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 17:39:56 | 显示全部楼层
C++:
#include<iostream>
using namespace std;
int main()
{
        int ans=0;
        for(int i=0;i<1000;i++)
                if(i%3==0||i%5==0) ans+=i;
        cout<<ans;
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 18:38:11 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-9-15 18:55 编辑
#include <stdio.h>
#define MAX 1000

int main(void)
{
    int sum = 0;
    for (int i = 3; i < MAX; i+=3) {
       sum += i;
    }
    for (int i = 5; i < MAX; i+=5) {
        sum += i;
    }
    for (int i =15; i < MAX; i+=15) {
        sum -= i;
    }

    printf("%d", sum);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-11 10:43:03 | 显示全部楼层
第一个还真的不难
def euler1():
        sum = 0
        for i in range(1, 1001):
                if i % 3 == 0 or i % 5 ==0:
                        sum += i
        return sum
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-11 13:53:29 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-5-11 13:58 编辑


50题以后难度就大了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-12 09:56:34 | 显示全部楼层
#include<iostream>
using namespace std;

int main()
{
        int sum=0;
        for(int i=1; i<=1000; i++)
        {
                if(i%3==0 || i%5==0)
                {
                        sum+=i;
                }
        }
        cout<<sum;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-2 15:49:03 | 显示全部楼层
i = 1
sum35 = 0

while i < 1000:
    if i % 3 == 0 or i % 5 == 0:
        sum35 += i
        i += 1
    else:
        i += 1

print(sum35)

233168
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 23:57:51 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-9-15 19:07 编辑
#include<iostream>
using namespace std;

int main(){
        
        int sum;
        
        int i,num;
        
        for(i=0;i<1000;i++){
                if(i%3==0||i%5==0){
                        sum=sum+i;
                }
        }
        
        cout<<sum<<endl;
        
        return 0;
} 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-7 20:33:35 | 显示全部楼层
等差数列求和公式  直接的结果  3*5=15   15的倍数的数列

点评

应该是 3的倍数的数列的和 加上 5的倍数的数列的和 减去 15的倍数的数列的和  发表于 2020-8-8 13:00
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-10 09:23:51 | 显示全部楼层
583164028 发表于 2020-8-7 20:33
等差数列求和公式  直接的结果  3*5=15   15的倍数的数列

你是对的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-21 14:46:11 | 显示全部楼层
a = int(999 / 3)
b = int(999 / 5)
c = int(999 / 15)
sum = (a*3 + a*(a-1)/2*3) + (b*5 + b*(b-1)/2*5) - (c*15 + c*(c-1)/2*15)
print(sum)

等差数列求和
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-11 21:15:31 | 显示全部楼层
sum=0
for i in range(0,1000):
    if i%3==0 or i%5==0:
        sum=sum+i
        i=i+1
    else:
        i=i+1
print(sum)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-14 13:45:14 | 显示全部楼层
//1000以下自然数中3和5的倍数之和

#include <stdio.h>

int main1()
{
        int count = 0;
        for (int i = 1; i < 1000; i++)
        {
                if (i % 5 == 0 || i % 3 == 0)
                {
                        count += i;
                }
        }
        printf("1000以下自然数中3和5的倍数之和  %d", count);
}

结果为  233168
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-11 11:59:43 | 显示全部楼层
def main():
    total = 0
    for i in range(1000):
        if (i%3 == 0) or (i%5 == 0):
            total = i + total
            print("i->",i)

    print("sum->:",total)


if __name__ =="__main__":
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 11:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表