c++ - 在hackerearth中获取TLE
问题描述
当我在hackerearth 提交此代码时,我得到了TLE。
任何建议我如何优化此代码。
#include <stdio.h>
#include <stdlib.h>
int checkPrime(int);
int main() {
int a, b,
reminder,sum=0,n;
scanf("%d %d",&a,&b);
while(a <= b) {
n = a;
sum = 0;
reminder = 0;
while (n > 0) {
reminder = n % 10;
sum += reminder;
n = n / 10;
}
if(sum > 1 && checkPrime(sum) == 1 && checkPrime(a) == 1) {
printf("%d ",a);
}
++a;
}
return 0;
}
int checkPrime(int p) {
int i,flag=1;
for(i=2; i <= p / 2; i++){
if(p%i == 0) {
flag = 0;
break;
}
}
return flag;
}
以及如何分析此代码并获得时间复杂度。
解决方案
推荐阅读
- javascript - Dropzone 实例适用于第一个元素,但不适用于克隆的元素 (Vue)
- excel - Excel VBA自动查找数字的上限和下限
- java - 接口如何为同一方法实现两种不同的算法
- python - 我如何提取(.find())没有类的div(或span)
- list - 从一个屏幕移动到另一个屏幕时如何不丢失列表中的数据?
- scala - 为什么 IntelliJ 工作表会混淆类名?
- django - NGINX 从浏览器给出 502 错误,但从 Postman 没有
- c++ - 如何执行 GET 编码的 JSON?
- c - 我想复制并制作“我爱你”,但我出错了
- angular - 在方法以角度 10 运行之前,构造函数中的承诺未完成