算法实验题(涉外黄成老师!!!)

news2025/1/18 10:43:49

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

日期 2022.11.19

目录
实验报告一 第一题 2
实验报告二 第二题 3
实验报告三 第三题 4
实验报告四 第四题 5
实验报告五 第五题 6
实验报告六 第六题 7

实验报告一 第一题
一、实验目的
由1,3,4,5,7,8这六个数字所组成的六位数中,找能被11整除的最大的数
二、实验内容
(实验题目描述)
由1,3,4,5,7,8这六个数字所组成的六位数中,能被11整除的最大的数是多少?
各位数字和为1+3+4+5+7+8=28
所以偶数位和奇数位上数字和均为14
为了使得该数最大,首位必须是8,第2位是7,14-8=6
那么第3位一定是5,第5位为1
该数最大为875413。

三、实验过程
(实验源码、实验结果)

#include <stdio.h>
int main()
{int a,b,c,d,e,f;
 for(a=8;a>0;a--)
  if(a-2&&a-6)
   for(b=8;b>0;b--)
    if(b-a&&b-2&&b-6)
     for(c=8;c>0;c--)
      if(c-a&&c-b&&c-2&&c-6)
       for(d=8;d>0;d--)
        if(d-a&&d-b&&d-c&&d-2&&d-6)
         for(e=8;e>0;e--)
          if(e-a&&e-b&&e-c&&e-d&&e-2&&e-6)
           {f=1+3+4+5+7+8-a-b-c-d-e;
            if(a+c+e==b+d+f)
            {printf("%d%d%d%d%d%d",a,b,c,d,e,f);
             return 0;
            }
           }
 return 0;
}

在这里插入图片描述

四、实验总结
(实验心得体会)
C语言写的,用多个循环可以解决

实验报告二 第二题
一、实验目的
用1,2,5,7,8,9这六个数字(每个数字至多用一次)来组成一个五位数,使得它能被75整除
二、实验内容
(实验题目描述)
请用1,2,5,7,8,9这六个数字(每个数字至多用一次)来组成一个五位数,使得它能被75整除,并求出这样的五位数有几个?
75=3×25
若被3整除,则各位数字和是3的倍数,1+2+5+7+8+9=32
所以应该去掉一个被3除余2的,因此要么去掉2要么去掉8
先任给一个去掉8的,17925即满足要求
若去掉8
则末2位要么是25要么是75,前3位则任意排,有3!=6种排法
因此若去掉8则有2*6=12个满足要求的数
若去掉2
则末2位只能是75,前3位任意排,有6种排法
所以有6个满足要求
综上所述,满足要求的五位数有18个

三、实验过程
(实验源码、实验结果)

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[5] = { 1,2,7,8,9 },b[4];
while (next_permutation(a, a + 5))
{
for (int i = 0; i < 4; i++)
{
b[i] = a[i];
}
int sum = b[0] * 10000 + b[1] * 1000 + b[2] * 100 + b[3] * 10 + 5;
if (sum % 75 == 0)
cout << b[0] << b[1] << b[2] << b[3] << 5 << endl;
}
system("pause");
return 0;
}

在这里插入图片描述

四、实验总结
(实验心得体会)
借助全排列函数,末尾是5,其余四位b[4]在a[5]中取,然后判断
实验报告三 第三题
一、实验目的
一个小于200的自然数,被7除余2,被8除余3,被9除余1,求这个数是多少?

二、实验内容
(实验题目描述)
一个小于200的自然数,被7除余2,被8除余3,被9除余1,这个数是多少?
注意到7-2=8-3=5
也就是说该数加上5以后可被7和8整除,也就是56的倍数
因此这个数只可能是56-5 562-5 563-5
经检验发现只有56*3-5=163被9除余1符合要求,因此该数为163

三、实验过程
(实验源码、实验结果)

#include<stdio.h>
int main(){
 int i=1;
 for(;i<200;i++){
  if(i%7==2&&i%8==3&&i%9==1)
  printf("这个数是%d",i);
 }
 return 0;
}

在这里插入图片描述

四、实验总结
(实验心得体会)
蛮算

实验报告四 第四题
一、实验目的
找数,在所有的两位数中,十位上的数字比个位上的数字要大的共有多少个?三位数中佰位比个位大的数字有多少呢?
二、实验内容
(实验题目描述)
在所有的两位数中,十位上的数字比个位上的数字要大的共有多少个?三位数中佰位比个位大的数字有多少呢?
三、实验过程
(实验源码、实验结果)

#include <stdio.h>
int main()
{
    int m,n,sum=0,i,a,b,c;
    scanf("%d%d",&m,&n);
    if(m>=10&&m<n&&n<=100)
    {
        for(i=m; i<=n; i++)
        {
            a=i%10;
            b=i/10;
            c=b%10;
            if(c>a)
            {
                sum=sum+i;
            }
        }
        printf("%d",sum);
    }
    return 0;

}

在这里插入图片描述

三位数,改一下范围,改一下a,b,c,d(同水仙花数)

四、实验总结
(实验心得体会)
和水仙花数有相同原理可类比

实验报告五 第五题
一、实验目的
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字
二、实验内容
(实验题目描述)
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
【Input】
一行:两个数a,b。中间用一个空格隔开。1<=a<=9,1<=b<=200。
【Output】
计算后的结果。
【样例输入一:】
5 3
【样例输出一:】
615

【样例输入二:】
3 5
【样例输出二:】
37035

三、实验过程
(实验源码、实验结果)

package com.ljy.tencent;
import java.util.Scanner;
public class AddNumerical
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数字:");
        int n = input.nextInt();
        System.out.println("请输入需要相加的个数:");
        int number = input.nextInt();
        input.close();

        //调用计算方法
        System.out.println("计算输出结果为:");
        System.out.print("s=");
        System.out.print(count(n, number));
    }
    //求和表达式以及求和
    public static int count(int n, int number)
    {
        int s = 0;//s为每一个叠数
        int sum = 0;//sum为最后的总和
        //循环从1次幂到number次幂的叠数
        for(int i = 1; i <= number; i++)
        {
            //调用形成叠数的方法
            s = coumpute(n, i);
            //利用if...else区分是否为最后一个加数,从而保证最后一个数后面不添加"+"
            if(i == number)
            {
                System.out.print(s);

            }
            else
            {
                System.out.print(s + "+");
            }
            sum += s;
        }
        System.out.print("=");
        return sum;
    }
    //叠数的形成
    public static int coumpute(int n, int number)
    {
        int m = 0;
        for(int i = 0; i < number; i++)
        {
            //从0次幂到number次幂形成叠数,如22222=2*10^4+2*10^3+2*10^2+2*10^1+2*10^0
            m += (int) (n * Math.pow(10, i));
        }
        return m;
    }
}

在这里插入图片描述

四、实验总结
(实验心得体会)
好难……

实验报告六 第六题
一、实验目的
按照键盘输入的数值N的大小,打印菱形
二、实验内容
(实验题目描述)
按照键盘输入的数值N的大小,打印如下图形
*
***
*****
*******
*********
*******
*****
***
*
N为图形的行数。要求使用循环实现。
【Input】
显示的行数
【Output】
图形。
【样例输入:】
9

三、实验过程
(实验源码、实验结果)

package lianxi;

public class lingxing{
    public static void main(String[] args) {
        //打印菱形
        //1.
        for(int i=0;i<5;i++){
            for (int k=0;k<5-i;k++){
                System.out.print(" ");
            }
            for(int j=0;j<2*i+1;j++){
                System.out.print("*");
            }
            System.out.println();
        }
        //2.倒的等腰三角形
        for(int i=4;i>=0;i--){
            for (int k=0;k<5-i;k++){
                System.out.print(" ");
            }
            for(int j=0;j<2*i+1;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

在这里插入图片描述

四、实验总结
(实验心得体会)
对称有规律,做一半另一半改一下就好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18632.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

剑指 Offer II 021. 删除链表的倒数第 n 个结点【链表】

难度等级&#xff1a;中等 上一篇算法&#xff1a; 82. 删除排序链表中的重复元素 II【链表】 力扣此题地址&#xff1a; 剑指 Offer II 021. 删除链表的倒数第 n 个结点 - 力扣&#xff08;LeetCode&#xff09; 1.题目&#xff1a;删除链表的倒数第 n 个结点 给定一个链表&a…

DWGViewX Pro 2021.4.X Crack by Cracki

DWGViewX pro 2021.4.X --Ω578867473 DWGViewX 是一个 ActiveX 组件&#xff0c;可让您在一个查看器中管理和查看 DWG、DXF 和 DWF 工程图。查看 R14 到 2022 版本的 DWG、DXF 和 DWF。加载本地磁盘或网络网站上的图纸&#xff0c;并使用查看器缩放、平移、旋转图纸、打开/关闭…

Java中的线程

线程 什么是线程&#xff1a; 什么是多线程&#xff1a; 学习目的&#xff1a; 多线程的创建 方式一&#xff1a;继承Thread类 public class MyThread{public static void main(String[] args) {Thread thread01 new Thread01();thread01.start();for (int i 0; i < 5; …

翻倍增长!C-V2X商业化“提速”,新一代模组加速“助跑”

C-V2X正在逐步走向商业的规模化部署&#xff0c;由此也带动了C-V2X模组需求的高速增长。 高工智能汽车研究院监测数据显示&#xff0c;今年1-9月中国市场&#xff08;不含进出口&#xff09;乘用车前装标配搭载V2X技术新车交付上险为10.58万辆&#xff0c;同比增长283.33%&…

计算机视觉|投影与三维视觉

这一篇将学习投影与三维视觉&#xff0c;沿用上一篇 计算机视觉|针孔成像&#xff0c;相机内外参及相机标定&#xff0c;矫正的重要性 摄像机内参数矩阵M、畸变参数、旋转矩阵R、平移向量T以及但影响矩阵H。回顾放射和投影变换&#xff0c;并使用POSIT算法从一幅图像中查找获得…

基于stm32单片机有害气体监测检测Proteus仿真

资料编号&#xff1a;097 下面是相关功能视频演示&#xff1a; 97-基于stm32单片机有害气体监测检测Proteus仿真&#xff08;仿真源码全套资料&#xff09;功能介绍&#xff1a;检测当前的有害气体浓度&#xff0c;LCD1602显示&#xff0c;并且可以自动打开关闭风扇&#xff…

Pulsar 各个Shedder分析及新的Shedder -- AvgShedder

看到今年Pulsar 峰会上挺多人分享负载均衡的内容&#xff0c;这里也整理分享一下相关的内容。 社区现有策略的分析 LoadSheddingStrategy pulsar进行shedding的时候&#xff0c;使用的是ThresholdShedder类&#xff0c;ThresholdShedder类是LoadSheddingStrategy接口的其中一…

锐捷SuperVlan实验配置

Super Vlan配置 创建Vlan vlan range 2,3,4,10,20 配置Vlan10为Super Vlan&#xff0c;Vlan 2,3,4为Sub Vlan vlan 10 supervlan subvlan 2,3,4 配置Sub Vlan的地址范围&#xff08;也可以不配置&#xff09; Vlan 2 subvlan-address-range 192.168.10.10 192.168.10.50 配置S…

【数据结构】—时间复杂度or空间复杂度以及基础题目练习

小菜坤日常上传gitee代码&#xff1a;https://gitee.com/qi-dunyan ❤❤❤ 个人简介&#xff1a;双一流非科班的一名小白&#xff0c;期待与各位大佬一起努力&#xff01; 推荐网站&#xff1a;cplusplus.com 目录前言算法与复杂度时间复杂度大O的渐进表示法时间复杂度计算练习…

[附源码]java毕业设计社区疫情防控管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

MySQL纯代码复习(上)

前言 本文章是用于总结尚硅谷MySQL教学视频的记录文章&#xff0c;主要用于复习&#xff0c;非商用 原视频连接&#xff1a;https://www.bilibili.com/video/BV1iq4y1u7vj/?p21&spm_id_frompageDriver&vd_sourcec4ecde834521bad789baa9ee29af1f6c https://www.bilib…

【设计模式】 - 创建者模式 -建造者模式

1. 建造者模式 1.1 概述 将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于&#xff1a;某个对象的构建过程复杂的情况。 由于实现了…

小目标检测:基于切图检测的yolov5小目标检测

目前在目标检测方面有着众多的检测框架,比如两阶段的FasterRcnn、以及yolo系列的众多模型。yolo系列在实际中用的最多,一方面性能确实不错,另一方面具有着较多的改进型系列。今天我们主要使用的yolov5系列。具体原理过程就不多说了,大家自行百度。放一张v5的网络结构图。 大…

计算机网络部分(一)

1 请描述 TCP/IP 协议中主机与主机之间通信的三要素 答&#xff1a; IP 地址&#xff08;IP address&#xff09; 子网掩码&#xff08;subnet mask&#xff09; IP 路由&#xff08;IP router&#xff09; 扩展&#xff1a; TCP/IP定义&#xff1a;TCP/IP是基于TCP和IP这两个…

883. 三维形体投影面积

883. 三维形体投影面积 在 n x n 的网格 grid 中&#xff0c;我们放置了一些与 x&#xff0c;y&#xff0c;z 三轴对齐的 1 x 1 x 1 立方体。 每个值 v grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。 现在&#xff0c;我们查看这些立方体在 xy 、yz 和 zx 平面上的投…

【Java八股文总结】之Java设计模式

文章目录Java设计模式一、设计模式概述1、什么是设计模式&#xff1f;2、设计模式的6大原则3、具体的设计模式1、单例模式Q&#xff1a;为什么使用两个 if (singleton null) 进行判断&#xff1f;Q&#xff1a;volatile 关键字的作用&#xff1f;2、原型模式补充&#xff1a;浅…

yml中无法解析类 ‘HikariDataSource‘

目录 yml中无法解析类 HikariDataSource ⭐关于HikariDataSource的信息 yml中无法解析类 HikariDataSource 修改之前该行是报红的 具体代码 # 配置项目信息 spring:profiles:active: prod # yml中配置文件的环境配置&#xff0c;dev&#xff1a;开发环境&#xff0c;t…

06_通信过程

知识点1【通信过程概述】 2、PC和集线器Hub 2、PC机和交换机switch 2、路由器&#xff08;重要哟&#xff09; 知识点1【通信过程概述】 1、PacketTracer5.exe 安装 一路next 2、PC和集线器Hub 选择集线器 选择主机&#xff1a; 选择线 一个集线器4台主机&#xff1a; 配…

ZooKeeper教程

官网&#xff1a;Apache ZooKeeper 什么是Zookeeper&#xff1f; ZooKeeper是一个集中服务&#xff0c;用于维护配置信息、命名、提供分布式同步和组服务。所有这些类型的服务都以某种形式被分布式应用程序使用。每次实施它们时&#xff0c;都要进行大量的工作来修复不可避免的…

Flink水位线-详细说明

文章目录时间语义Flink 中的时间语义?哪种时间语义更重要?1. 水位线&#xff08;Watermark&#xff09;1.1 什么是水位线?1.2 如何生成水位线?1.3 水位线的传递1.4 水位线的计算&#x1f48e;&#x1f48e;&#x1f48e;&#x1f48e;&#x1f48e; 更多资源链接&#xff0…