7-88 逢7击掌 (15分)_运行超时优化
程序员文章站
2022-06-07 09:58:13
...
第一次代码(运行超时)
#include<iostream>
using namespace std;
int main(){
int n;cin>>n;
int cnt=0;
for(int i=7;i<=n;i++){
if(i%7==0||i%10==7){
cnt++;
}
}
cout<<cnt;
}
每70个数里会有16个数击掌,再判断剩下的;
7、14、21、28、35、42、49、56、63、70、
17、27、37、47、57、67、
77、84、91、98、105、112、119、126、133、140、
87、97、107、117、127、137
代码
#include<iostream>
using namespace std;
int main(){
int n;cin>>n;
int cnt=0;
if(n>70){
cnt=n/70*16;
}
for(int i=7;i<=n%70;i++){
if(i%7==0||i%10==7){
cnt++;
}
}
cout<<cnt;
}
上一篇: 7-12 高空坠球 (20分)