社区讨论

为何我的for中i从n-1开始往下递减部分AC,但i从2往上就全AC

P1075[NOIP 2012 普及组] 质因数分解参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lorzsdlk
此快照首次捕获于
2023/11/10 10:21
2 年前
此快照最后确认于
2023/11/10 15:00
2 年前
查看原帖
这是我第一次提交的代码
C
#include<stdio.h>
int main()
{
    int n, i;
    scanf("%d", &n);
    for(i = n-1; i*i > n ; i--){
        if(n%i == 0){
            printf("%d", i);
            break;
        }
    }

    return 0;
}
部分AC,其余WA
这是我后来提交的代码
C
#include <stdio.h>
int main() {
    int n;
    scanf("%d", &n);

    int i;
    for (i = 2; i*i < n; i++) {
        if (n % i == 0){
            printf("%d\n", n/i);
            break;
        }
    }

    return 0;
}
测试点全部AC 但这两个代码的区别只在于for循环的顺序,一个是倒着来一个是正着来的,为何提交结果会不一样,求助

回复

3 条回复,欢迎继续交流。

正在加载回复...