解题思路:
这个其实就是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分
3 人评分
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:677 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:650 |
简单的a+b (C语言代码)浏览:676 |
C二级辅导-计负均正 (C语言代码)浏览:698 |
简单的a+b (C语言代码)浏览:783 |
C语言训练-大、小写问题 (C语言代码)浏览:2421 |
A+B for Input-Output Practice (VII) (C++代码)浏览:643 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:751 |
【蟠桃记】 (C语言代码)浏览:1084 |