解题思路:

这个其实就是n一直加到m;你要知道从1加到14就是105,是15的倍数

但是就是有些东西不需要算,比如输入14,31;完全不需要从14加到31,只需要14+31=14+31%15就可以了;

因为从16到29就相当于从1到14,而15,跟30本来就是15的倍数,取余就是0;

然后来找一下规律

如果输入14      33   就是  14  +31%15+32%15+33%15  是不是很麻烦,所以就是14 +(从1加到33%15)

如果输入3       33   就是  3+4+5+6+7+8+9+10+11+12+13 +14 +31%15+32%15+33%15,就是   (从3加到14)+(从1加到33%15)

所以输入  n,m;

就是    从n%15加到14加从1加到m%15,然后再对15取余就可以了(第一次写题解,希望大家看得懂)


注意事项:

我不知道long long  可不可以直接取余,所以用m-m/15*15


参考代码:

#include<iostream>
using namespace std;
long long  m,n;
int main()
{

 int i=0,j=0,s=0;
 cin>>m>>n;
 int a=m-m/15*15;
 int b=n-n/15*15;
 for(i=a;i<15;i++)
 {
  s=s+i;
 }
 for(j=b;j>0;j--)
 {
  s+=j;
 }
 s=s%15;
 cout<<s;
 
 return 0;
}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论