
【CSP-J模拟赛二十二】题解
老师让我们做完前三道 才能放学
你就交吧,一交一个不吱声 : )
T1
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,h;
int s=0;
cin>>m>>n>>h;
h-=m;
s++;
while(h>0){
h-=(m-n);
s++;
}
cout<<s;
return 0;
}
T2
#include <bits/stdc++.h>
using namespace std;
int f1(int a) {
int s = 0;
while (a > 0) {
s += a % 10;
a /= 10;
}
return s;
}
bool isPrime(int a) {
if (a == 1) return false;
if (a == 2 || a == 3) return true;
if (a % 2 == 0) return false;
for (int i = 3; i <= sqrt(a); i += 2) {
if (a % i == 0) return false;
}
return true;
}
int f2(int a) {
int s = 0;
for (int i = 2; i <= a; i++) {
while (a % i == 0) {
s += f1(i);
a /= i;
}
}
return s;
}
int main() {
int n;
cin >> n;
vector<int> res;
for (int i = 1; i <= n; i++) {
if (f1(i) == f2(i) && !isPrime(i)) {
res.push_back(i);
}
}
for (int i = 0; i < res.size(); i++) {
cout << res[i];
if ((i + 1) % 5 == 0) {
cout << endl;
} else {
cout << " ";
}
}
return 0;
}
T3
#include <bits/stdc++.h>
using namespace std;
int main() {
int d,h,m;
cin>>d>>h>>m;
if(d<11)cout<<-1;
else if(d==11&&h<11)cout<<-1;
else if(d==11&&h==11&&m<11)cout<<-1;
else {
cout<<d*24*60+h*60+m-11*(60+24*60+1);
}
return 0;
}
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果