文章

2

粉丝

13

获赞

0

访问

237

头像
本地运行输入同样的数据的输出和提交后的错误输出不一样
我要提问
发布于2024年3月26日 00:29
阅读数 130

题号1560 Special数在输入为

5
1
100
1000
5000
10000

的情况下在本地跑输出 为1 2 3 4 4提交后错误答案显示我输出为

#include
#include
int cal2(int num){
    for(int i=1;i<=sqrt(num);i++){
        if(i*i*i==num)
            return 1;
        if(i*i*i>num)
            return 0;
    }
}
int cal1(int num){
    for(int i=1;i<=sqrt(num);i++){
        if(i*i==num)
            return 1;
        if(i*i>num)
            return 0;
    }
}
int main(){
    int t;
    scanf("%d",&t);
    for(int k=0;k         int num,mid=1,g=0;
 &...

登录查看完整内容


登录后发布评论

2 条评论
snake VIP
2024年3月26日 00:45

语法不标准导致的,不同编译器的优化不一样。

for循环结束之后两个函数都要return值

int cal2(int num){
	for(int i=1;i<=sqrt(num);i++){
		if(i*i*i==num)
			return 1;
		if(i*i*i>num)
			return 0;
	}
	return 0;
}
int cal1(int num){
	for(int i=1;i<=sqrt(num);i++){
		if(i*i==num)
			return 1;
		if(i*i>num)
			return 0;
	}
	return 0;
}

 

赞(0)

rainberry : 回复 snake: 感谢大佬!

2024年3月26日 01:01