豫建设标去哪个网站,好发网站建设,昆明网站建设哪个好,酥糖的网站建设的目的是什么Multiples of 3 and 5 原题 题意如下#xff1a; 找出N以内的3和5的倍数的和。 思路 1、刚看到觉得好弱智#xff0c;直接遍历一遍不就OK了吗#xff1f;但是第2和第3个测试用例报了TLE#xff0c;超时。 2、然后想不出来了#xff0c;搜了一下#xff0c;发现有一个类似…Multiples of 3 and 5 原题 题意如下 找出N以内的3和5的倍数的和。 思路 1、刚看到觉得好弱智直接遍历一遍不就OK了吗但是第2和第3个测试用例报了TLE超时。 2、然后想不出来了搜了一下发现有一个类似的题计算1000以内的3和5的倍数的和用的是算出3的倍数的和加上5的倍数的和减去15的倍数的和因为是直接计算所以不需要遍历自然就快了。按照同样的思路可以找到小于N的最大的3的倍数5的倍数和15的倍数。 代码 int main(){int t;cin t;for(int a0 0; a0 t; a0){int n;cin n;long sum 0;long p (n-1)/3;sum (3p*3) * p /2;p (n-1)/5;sum (5p*5) * p / 2;p (n-1)/15;sum - (15p*15) * p / 2;coutsumendl;}return 0;
} 其中的sum和p必须为long类型因为我开始用的int又给WA了会超出int范围。 附上原题链接https://www.hackerrank.com/contests/projecteuler/challenges/euler001/submissions/code/7962817 转载于:https://www.cnblogs.com/puyangsky/p/6119323.html