上海耀乘健康科技公司笔试

两道算法
1.给平面三个点判断能组成多少个三角形。暴力n^3过了
2.给一个合数,求他的分解质因数,以每个因数的底数和指数输出,比如12 = 2 *2 * 3, 输出[[2,2],[3,1]] , 合数范围为2~2^31 - 1。 
    只过了20%, 太菜了,后面看题解学会了。代码如下:
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        while (n -- > 0){
            int a = scanner.nextInt();
            for (int i = 2 ; i <= a/i ; i++){
                // i 为什么一定是质数? 因为如果是合数,应该被他的因子分解了已经。
                if (a % i == 0){
                    int cnt = 0;
                    while (a % i == 0){
                        a /= i;
                        cnt++;
                    }
                    System.out.println(i + " " + cnt);
                }
            }
            if(a > 1) System.out.println(a + " " + 1);
            System.out.println();
        }
    }
}
全部评论
第二段代码有点问题把
点赞 回复 分享
发布于 2023-03-11 22:30 湖北
大佬的算法是在什么平台上学的
点赞 回复 分享
发布于 2023-03-11 22:42 黑龙江
是acm模式?
点赞 回复 分享
发布于 2023-03-15 18:22 重庆
请问有后续吗
点赞 回复 分享
发布于 2023-03-16 17:03 湖北

相关推荐

投递大华股份等公司10个岗位
点赞 评论 收藏
分享
评论
5
4
分享
牛客网
牛客企业服务