算法设计与分析hw(1)

1.输入联系【Java】

【问题描述】

任务很简单:
给定若干个整数,请编程输出它们的和。

【输入形式】

输入包含多组测试用例。
每组测试数据首先是一个正整数N,表示本组数据有N个整数。
请处理到文件结束。

【输出形式】

请计算每组数据的和,每组输出占一行。

【样例输入】

4 1 3 4 9 5 10 2 30 4 50

【样例输出】

17 96

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(true){
		 
            if(sc.hasNext()){
			   String s = sc.nextLine();
                String[] str = s.split(" ");
                int sum = 0;
                int n = Integer.parseInt(str[0]);
                for (int x = 1; x < n+1; x++) {
                    sum += Integer.parseInt(str[x]);
                }
                System.out.println(sum);
            }else break;

        }

    }
}

2.丑数 【Java】

【问题描述】

丑数的定义是这样的——
一个数,如果它分解后的素因子最多只有2、3、5、7四种,这个数则称为“丑数”。比如,前20个丑数是:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27。
现在你的任务是:给你一个数,你能判断是否是丑数吗?

【输入形式】

输入数据的第一行首先是一个整数C,表示测试数据的个数,然后是C组数据,每组测试数据包含一个整数n(1 <= n <= 2^31-1)。

【输出形式】

对于每组测试数据,如果n是丑数,则请输出“ Yes”,否则,请输出“No”.

【样例输入】

3 12 385875 11

【样例输出】

Yes Yes No

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            int num = sc.nextInt();
            if (check(num)==1) System.out.println("Yes");
            else System.out.println("No");
        }
    }
    public static int check(int num){
        while(num%2==0){
            num/=2;
        }

        while(num%3==0){
            num/=3;
        }
        while(num%5==0){
            num/=5;
        }
        while(num%7==0){
            num/=7;
        }
        if(num==1)
            return 1;
        return 0;
    }
}

 3.字符三角形【Java】

【问题描述】

我们学习了编

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《哈工大高级算法设计与分析》第一章主要介绍了算法设计与分析的基本概念和方法。算法设计是指根据问题的特性和求解的要求,设计出解决问题的具体步骤和策略的过程。而算法分析则是对所设计的算法进行评估和分析,以确定其时间复杂性和空间复杂性等指标。 在本章中,作者首先介绍了算法设计与分析的背景和意义,强调了优秀算法在解决实际问题中的重要性。然后,详细介绍了算法设计和分析的一般过程,包括问题的描述、问题的建模和算法的设计等步骤。作者指出,良好的问题描述和合理的问题建模是设计出高效算法的前提。 在算法设计方面,本章主要介绍了两种常用的算法设计策略:分治法和动态规划法。作者通过实际例子和数学证明,详细解释了这两种算法策略的基本思想和应用场景。分治法是将原问题划分成若干个相似的子问题进行求解,最后将子问题的解合并得到原问题的解;而动态规划法是通过将原问题分解成若干个阶段,每个阶段的最优解依赖于前一阶段的最优解,最终得到全局最优解。 在算法分析方面,本章介绍了算法复杂性的度量方法和分析技术。作者详细介绍了时间复杂性和空间复杂性的概念和计算方法,并介绍了常见的渐进符号表示法。此外,作者还介绍了常用的算法分析技术,包括递归树法、迭代求解法和主定理等。 通过学习《哈工大高级算法设计与分析》第一章,我对算法设计和分析的基本概念和方法有了初步的认识。我明白了问题描述和问题建模对算法设计的重要性,也学会了分治法和动态规划法这两种常用的算法设计策略。此外,我还了解了算法复杂性的度量方法和分析技术,能够对算法的效率进行评估和分析。这些知识将为我今后的学习和实践提供坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值