求从10到100中能被3或5整除的数的和

题目

解答

解答一

public class Test {
 
    public static void main(String[] args) {
         
        int sum = 0;
        for (int i = 10; i < 100; i++) {
            if (i % 3 ==0 || i % 5 == 0) {
                sum += i;
            }
        }
        System.out.println(sum);
    }
 
}

解答二

/**
 * @brief count tot nums val in 10~100 which 10%3 = 0 or 10%5 = 0
 * @param void
 * @return tot nums
 */
#include <stdio.h>
#define DEBUG 1
int table[120];

#define END     100

#define BASE3   12
#define STEP3   3

#define BASE5   10
#define STEP5   5

int solve(void){
    int sum = 0;
    int pos3 = BASE3;
    int pos5 = BASE5;
    while(pos3 < 100){
            if(pos5 < 100){
                table[pos5] = 1;
                sum += pos5;
                pos5 += STEP5;
            }
            if(!table[pos3]){
                sum += pos3;
            }
            pos3 += STEP3;
    }
    return sum;

}

int main(void){
    printf("%d\n", solve());
    return 0;
}

解答三

/**
 * @brief count tot nums val in 10~100 which 10%3 = 0 or 10%5 = 0
 * @param void
 * @return tot nums
 */
#include <stdio.h>

#define END     100

#define BASE3   12
#define STEP3   3

#define BASE5   10
#define STEP5   5

#define BASE15  15
#define STEP15  15

int solve(void){
    int sum = 0;
    int pos3 = BASE3;
    int pos5 = BASE5;
    int pos15 = BASE15;
    while(pos3 < 100){
            sum += pos3;
            pos3 += STEP3;

            if(pos5 >=  100){
                continue;
            }

            sum += pos5;
            pos5 += STEP5;
        
            if(pos15 >= 100){
                continue;
            }

            sum -= pos15;
            pos15 += STEP15;
    }
    return sum;
}

int main(void){
    printf("%d\n", solve());
    return 0;
}

求从10到100中能被3或5整除的数的和,布布扣,bubuko.com

时间: 2024-10-11 00:39:55

求从10到100中能被3或5整除的数的和的相关文章

求出10个整数中的最大值

//求出10个整数中的最大值#include <stdio.h>int main(){ int arr[10];//定义存放10个整数的数组 int i; int tmp;//定义中间变量 printf("请输入10个整数:\n"); for(i=0;i<10;i++)//数组的初始化 {  scanf("%d",&arr[i]); } for(i=0;i<10;i++)//寻找10个整数中的最大值 {  if(arr[0]<=

c语言:输出100~200之间的不能被3整除的数。

输出100~200之间的不能被3整除的数. 解:程序: #include<stdio.h> int main() { int i=0; printf("打印出不能被3整除的数:"); for (i = 100; i <= 200; i++) { if (i%3 == 0) { continue; } printf("%d ",i); } printf("\n"); return 0; } 结果: 打印出不能被3整除的数:100 

VC;100到300之间不能被3整除的数

第一种方法:#include "stdio.h" void main() { int i=1,j=0,k=0,s=0; for(i=1;i<=3;i++) { for(j=0;j<10;j++) { for(k=0;k<10;k++) { s=i*100+j*10+k; if(s%3!=0) {printf("s=%d",s);} } } } } 第二种方法: #include "stdio.h" void main() { i

js实现随机选取[10,100)中的10个整数,存入一个数组,并排序。 另考虑(10,100]和[10,100]两种情况。

1.js实现随机选取[10,100)中的10个整数,存入一个数组,并排序. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <script type="text/java

18.把1~100存到一维数组a[100]中,并输出。要求每行输出10个,数据所占宽度相同。

#include<iostream>using namespace std; int main(){    int a[101];    for(int i=1;i<=100;i++)    {        a[i]=i;    }    for(int j=1;j<=100;j++)    {        cout<<a[j]<<" ";        if(j%10==0)//简单的换行都会想那么久        {       

欧拉计划013(ProjectEuler013):求出10个数乘积最大的

申明:之前的所有欧拉计划都是用python来写的,的确python来写,代码量极少,学习起来也很方便.但是最近为了找java工作,所以用Java来完成欧拉计划的题,来复习一下Java. Large sum Problem 13 Work out the first ten digits of the sum of the following one-hundred 50-digit numbers. 371072875339021027987979982208375902465101357402

求有环单链表中的环长、环起点、链表长

1.判断单链表是否有环 使用两个slow, fast指针从头开始扫描链表.指针slow 每次走1步,指针fast每次走2步.如果存在环,则指针slow.fast会相遇:如果不存在环,指针fast遇到NULL退出. 就是所谓的追击相遇问题: 2.求有环单链表的环长 在环上相遇后,记录第一次相遇点为Pos,之后指针slow继续每次走1步,fast每次走2步.在下次相遇的时候fast比slow正好又多走了一圈,也就是多走的距离等于环长. 设从第一次相遇到第二次相遇,设slow走了len步,则fast走

18.n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始, 每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。 当一个数字删除后,从被删除数字的下一个继续删除第m个数字。 求出在这个圆圈中剩下的最后一个数字。

转载请注明出处:http://www.cnblogs.com/wuzetiandaren/p/4263868.html 声明:现大部分文章为寻找问题时在网上相互转载,此博是为自己做个记录记录,方便自己也方便有类似问题的朋友,本文的思想也许有所借鉴,但源码均为本人实现,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始, 每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字). 当一个数字

面试题-10亿个数中找出最大的10000个数(top K问题)

一个较好的方法:先拿出10000个建立小根堆,对于剩下的元素,如果大于堆顶元素的值,删除堆顶元素,再进行插入操作,否则直接跳过,这样知道所有元素遍历完,堆中的10000个就是最大的10000个.时间复杂度: m + (n-1)logm = O(nlogm) 优化的方法:可以把所有10亿个数据分组存放,比如分别放在1000个文件中(如果是字符串hash(x)%M).对每个文件,建立大小为10000的小根堆,然后按有序数组的合并合并起来,取出最大的10000个即是答案. top K问题 在大规模数据