2023年秋季学期《算法分析与设计》练习15 OJ-1424 算法分析与设计练习15,使用python、C语言

又一道简单题

题目描述

输入一个四个数字组成的整数 n,你的任务是数一数有多少种方法,恰好修改一个数字,把它 变成一个完全平方数(不能把首位修改成 0)。比如 n=7844,有两种方法:3844=622 和 7744=882。 

输入

输入第一行为整数 T (1<=T<=1000),即测试数据的组数,以后每行包含一个整数 n (1000<=n<=9999)。 

输出

对于每组数据,输出恰好修改一个数字,把 n变成完全平方数的方案数

样例输入 Copy
2
7844
9121
样例输出 Copy
Case 1: 2
Case 2: 0
import mathdef solve(index, t):count = 0for i in range(1, 5):   # (1,4)a = 10 ** (4 - i)if i == 1:for j in range(1, 10):if j == t // a:continueb = t - (t // a) * a + j * ac = int(math.sqrt(b))if c * c == b:count += 1else:for j in range(10):if j == (t % (a * 10)) // a:continueb = t - (t % (a * 10)) // a * a + j * ac = int(math.sqrt(b))if c * c == b:count += 1print(f"Case {index + 1}: {count}")while True:n = int(input())count = 0for i in range(n):t = int(input())solve(i, t)

自守数

题目描述

自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数。

输入

int型整数。

输出

n以内自守数的数量。

样例输入 Copy
2000
样例输出 Copy
8
#include <stdio.h>int is_num(long a) {long s = a * a;while (a != 0) {if (a % 10 != s % 10) {return 0; }a = a / 10;s = s / 10;}return 1; 
}int main() {long a;while (~scanf("%ld", &a)) {int count = 0;for(int i = a; i >= 0; i--) {if (is_num(i)) {count++;}}printf("%d\n", count);}return 0;
}

相聚HNUCM校园食堂

题目描述

HNUCM的食堂重新装修了,小明决定约上朋友去食堂相聚,在食堂里,小明看到了M位男同学,N位女同学,小明是一个颜值控,因此他对每一位男生和女生都有一个颜值打分,他心里yy着想为这些单身狗们进行配对,小明真是一个关心同学的人!但小明认为配对同学的颜值之差不能超过5,注意必须是一位男同学和一位女同学才能配对,虽然小明对于可以配对的人数已经有了答案,但他想考考你的编程能力,因此他想请你帮他用编程算一下最多可以配对多少个人。(本题介绍仅作题目背景使用,无任何其他观点)

输入

每个测试文件仅有一条测试数据。
第一行输入M,N,分别表示男同学的数量,女同学的数量。(1<=M<=100,1<=N<=100)
第二行输入M个正整数,分别表示男同学们的颜值。
第三行输入N个正整数,分别表示女同学们的颜值。
注意,所有人的颜值分数范围在[1,100]

输出

输出最多可以配对的总人数。

样例输入 Copy
5 4
10 65 23 67 80
5 15 60 90
样例输出 Copy
4
提示

样例中第一位男同学和第一位女同学配对,第二位男同学和第三位女同学配对。

#include <stdio.h>struct Node {int vi;int id;
};int cmp(const void* a, const void* b) {return ((struct Node*)a)->vi - ((struct Node*)b)->vi;
}int main() {int n, m;while (scanf("%d %d", &n, &m) == 2) {struct Node a[n], b[m];for (int i = 0; i < n; i++) {scanf("%d", &a[i].vi);a[i].id = i;}for (int i = 0; i < m; i++) {scanf("%d", &b[i].vi);b[i].id = i;}qsort(a, n, sizeof(struct Node), cmp);qsort(b, m, sizeof(struct Node), cmp);int count = 0;for (int i = 0; i < n; i++) {int j = 0;while (j < m) {if (a[i].vi - b[j].vi <= 5 && a[i].vi - b[j].vi >= -5 && a[i].id != -1 && b[j].id != -1) {++count;a[i].id = -1;b[j].id = -1;break;}++j;}}printf("%d\n", count * 2);}return 0;
}

马的遍历问题

题目描述

在5*4的棋盘中,马只能走斜“日”字。马从位置(x, y)处出发,把棋盘的每一格都走一次,且只走一次,请找出所有路径。

输入

x,y,表示马的初始位置。

输出

将每一格都走一次的路径总数,如果不存在该路径则输出“No solution!”。

样例输入 Copy
1 1
2 2
样例输出 Copy
32
No solution!
def P(x,y,dep,fx,fy):global countfor i in range(0, 8):xx = x+fx[i]yy = y+fy[i]if xx > 0 and xx < 6 and yy > 0 and yy < 5 and a[xx][yy] == 0:a[xx][yy] = depif dep == 20:count += 1else:P(xx, yy, dep+1, fx, fy)a[xx][yy] = 0while True:x, y = map(int, input().split())count = 0fx = [1,2,2,1,-1,-2,-2,-1]fy = [2,1,-1,-2,-2,-1,1,2]a = [[0 for j in range(5)]for i in range(6)]a[x][y] = 1P(x, y, 2, fx, fy)if count == 0:print("No solution!")else:print(count)

图的m着色问题

题目描述

 给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。是否有一种着色法使G中每条边的2个顶点着不同颜色,请输出着色方案。

输入

输入第一行包含n,m,k分别代表n个结点,m条边,k种颜色,接下来m行每行有2个数u,v表示u和v之间有一条无向边,可能出现自环边,所以请忽略自环边。

输出

输出所有不同的着色方案,且按照字典序从小到大输出方案。

样例输入 Copy
3 3 3
1 2
1 3
2 3
样例输出 Copy
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
def paint(b):print(b[0], end=" ")for j in range(1, n):print(str(b[j]), end=" ")print()def solve(i, n, k, a, b):if i < n:for j in range(1, k+1):flag = 0for q in range(n):if a[i][q] == 1 and b[q] == j:flag = 1if flag == 0:b[i] = jsolve(i+1, n, k, a, b)b[i] = 0else:paint(b)while True:n, m, k = map(int, input().split())a = [[0 for j in range(n)] for i in range(n)]b = [0 for i in range(n)]for i in range(m):u, v = map(int, input().split())a[u-1][v-1] = 1a[v-1][u-1] = 1solve(0, n, k, a, b)

素数环

题目描述
现有1,2,3...,n,要求用这些数组成一个环,使得相邻的两个整数之和均为素数,要求你求出这些可能的环。
输入

输入正整数n。

输出
输出时从整数1开始逆时针输出,同一个环只输出一次,且满足条件的环应按照字典序从小到大输出。
注:每一个环都从1开始。
样例输入 Copy
<span style="background-color:#ffffff"><span style="color:#333333"><span style="color:#333333"><span style="background-color:#f5f5f5">6</span></span></span></span>
样例输出 Copy
<span style="background-color:#ffffff"><span style="color:#333333"><span style="color:#333333"><span style="background-color:#f5f5f5">1 4 3 2 5 6
1 6 5 2 3 4</span></span></span></span>
def paint(a):for j in range(n):print(a[j], end=" ")print()def s(i, n, a, b):if i < n:for j in range(1, n+1):if b[j-1] == 0:if i != n-1:flag = 0for k in range(2, a[i-1]+j):if (a[i-1]+j) % k == 0:flag = 1breakif flag == 0:a[i] = jb[j-1] = 1s(i+1, n, a, b)a[i] = 0b[j-1] = 0else:flag = 0for k in range(2, a[i-1]+j):if (a[i-1]+j) % k == 0:flag = 1breakfor k in range(2, a[0]+j):if (a[0]+j) % k == 0:flag = 1breakif flag == 0:a[i] = jb[j-1] = 1s(i+1, n, a, b)a[i] = 0b[j-1] = 0else:paint(a)while True:n = int(input())a = [0] * nb = [0] * na[0] = 1b[0] = 1s(1, n, a, b)

 

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

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

相关文章

MySQL数据库,触发器、窗口函数、公用表表达式

触发器 触发器是由事件来触发某个操作&#xff08;也包含INSERT、UPDATE、DELECT事件&#xff09;&#xff0c;如果定义了触发程序&#xff0c;当数据库执行这些语句时&#xff0c;就相当于事件发生了&#xff0c;就会自动激发触发器执行相应的操作。 当对数据表中的数据执行…

如何选择数字化转型顾问

在进行数字化转型时&#xff0c;第一步也是最重要的一步是深刻了解你的业务需求&#xff0c;这一基本流程涉及对企业的目标、挑战和抱负进行全面分析。必须提出关键问题&#xff1a;你通过数字化转型寻求哪些具体结果?主要目标是优化运营效率、提升客户体验&#xff0c;还是使…

VueDraggablePlus - 免费开源的 Vue 拖拽组件,支持 Vue2 / Vue3,还被尤雨溪推荐了

今天在网上看到尤雨溪推荐的这款拖拽组件&#xff0c;试了一下非常不错&#xff0c;同样推荐给大家。 VueDraggablePlus 是一个专为 Vue 打造的拖拽排序模块&#xff0c;基于 Sortablejs 封装&#xff0c;支持 Vue3 或 Vue 2.7&#xff0c;本月的 21 日&#xff0c;Vue 作者尤…

网络协议分析

第一章&#xff1a;Wireshark基础及捕获技巧 1.1 Wireshark基础知识回顾 1.2 高级捕获技巧&#xff1a;过滤器和捕获选项 1.3 Wireshark与其他抓包工具的比较 第二章&#xff1a;网络协议分析 2.1 网络协议分析&#xff1a;TCP、UDP、ICMP等 2.2 高级协议分析&#xff1a;HTTP…

从企业的角度看待WMS仓储管理系统的集成

随着全球化和数字化的发展&#xff0c;企业面临着越来越复杂的商业环境。为了满足高效运营的需求&#xff0c;许多企业开始寻求更先进、更集成的解决方案来优化他们的仓储流程。WMS仓储管理系统作为一种重要的解决方案&#xff0c;在企业中发挥着关键的作用。本文将从企业的角度…

CSS垂直方向布局中,子元素溢出父元素,如何处理?

默认情况下&#xff0c;父元素的高度是被子元素撑开的&#xff0c;若父元素设置了&#xff0c;就是设置多少就是多少 子元素是在父元素的内容区中排列的&#xff0c;如果子元素的大小超过了父元素&#xff0c;则子元素会从父元素中溢出, 使用overflow属性设置父元素如何处理溢…

通过外包团队迅腾文化灵活管理企业资讯内容输出,助力企业方对外信息的及时性与准确性

通过外包团队迅腾文化灵活管理企业资讯内容输出&#xff0c;助力企业方对外信息的及时性与准确性 随着信息时代的快速发展&#xff0c;企业信息的及时性和准确性对于企业的成功至关重要。外包团队迅腾文化以其灵活的管理方式&#xff0c;为企业提供了高效、准确的企业资讯内容…

速度与稳定性的完美结合:深入横测ToDesk、TeamViewer和AnyDesk

文章目录 前言什么是远程办公&#xff1f;远程办公的优势 远程办公软件横测对象远程软件的注册&安装ToDeskTeamViewerAnyDesk 各场景下的实操体验1.办公文件传输及丢包率2.玩游戏操作延迟、稳定3.追剧画质流畅度、稳定4.临时技术支持SOS模式 收费情况与设备连接数总结 前言…

开关电源测试 | 如何测试开关电源峰值负载功率?

开关电源峰值负载功率测试方法 测试设备&#xff1a; 1.电子负载&#xff1a;根据负载的额定电压和电流来选择。 2.功率计&#xff1a;需要考虑电源的额定电压和电流、测试频率等。 3.示波器&#xff1a;需要考虑测试频率和带宽等。 测试步骤&#xff1a; 1.将电源调整到正常工…

数据结构:图解手撕B-树以及B树的优化和索引

文章目录 为什么需要引入B-树&#xff1f;B树是什么&#xff1f;B树的插入分析B树和B*树B树B*树分裂原理 B树的应用 本篇总结的内容是B-树 为什么需要引入B-树&#xff1f; 回忆一下前面的搜索结构&#xff0c;有哈希&#xff0c;红黑树&#xff0c;二分…等很多的搜索结构&a…

单播、多播、广播、组播、泛播、冲突域、广播域、VLAN概念汇总

1 引言 “多播”可以理解为一个人向多个人&#xff08;但不是在场的所有人&#xff09;说话&#xff0c;这样能够提高通话的效率。如果你要通知特定的某些人同一件事情&#xff0c;但是又不想让其他人知道&#xff0c;使用电话一个一个地通知就非常麻烦&#xff0c;而使用日常…

Lua 中编写 C 函数的一些便捷技巧

零、前言 使用 Lua 时&#xff0c;在编写 C/C 函数经常需要对栈进行交互&#xff0c;而这中间更多的操作和数组、字符串相关。 一、数组操作的便捷方式 从之前分享的 “Lua 数据类型——表” 文章中知道 Lua 中的 “数组” 是以表的形式存在&#xff0c;只是他的 key 值是有…

Z-IETD-FMK;caspase-8 抑制剂 210344-98-2星戈瑞

Z-IETD-FMK是一种caspase-8抑制剂。它通过与caspase-8的活性位点结合&#xff0c;阻断其切割关键蛋白质&#xff0c;进而抑制细胞凋亡过程。该抑制剂具有高选择性、高活性、低毒性等优点。 Z-IETD-FMK通过与caspase-8的半胱氨酸残基形成共价键&#xff0c;从而抑制caspase-8的活…

谷歌发布Gemini 1.0,开启生成式AI模型新时代!

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; IT杂谈 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. Gemini的发布前期1.1 Gemini的准备1.2 DeepMnid 二. Gemini的三大杀手锏2.1 多模态能力2…

AWS RDS慢日志文件另存到ES并且每天发送邮件统计慢日志

1.背景&#xff1a;需要对aws rds慢日志文件归档到es&#xff0c;让开发能够随时查看。 2.需求&#xff1a;并且每天把最新的慢日志&#xff0c;过滤最慢的5条sql 发送给各个产品线的开发负责人。 3.准备&#xff1a; aws ak/sk &#xff0c;如果rds 在不同区域需要认证不同的…

Apache RocketMQ 5.0 腾讯云落地实践

Apache RocketMQ 发展历程回顾 RocketMQ 最早诞生于淘宝的在线电商交易场景&#xff0c;经过了历年双十一大促流量洪峰的打磨&#xff0c;2016年捐献给 Apache 社区&#xff0c;成为 Apache 社区的顶级项目&#xff0c;并在国内外电商&#xff0c;金融&#xff0c;互联网等各行…

GBASE南大通用 ADO.NET 中的事务

GBASE南大通用 ADO.NET 中支持事务&#xff0c;可以使用GBASE南大通用Connection 对象的BeginTransaction 函数开始一个事务&#xff0c;并默认使用 ReadCommitted 模式初始化。 事务中可以对单个表执行多个操作&#xff0c;或者对多个表执行多个操作&#xff0c;在事务未提交…

用vue3封装自用的echarts组件

封装的组件 目录 封装的组件在项目中使用 BaseChart.vue <script setup>import {ref,onMounted,onBeforeUnmount,watch,markRaw} from vue;import {debounce} from "/utils"; //节流函数 import * as echarts from "echarts";const emit defineEmit…

TSINGSEE青犀边缘AI计算基于车辆结构化数据的车辆监控方案

随着人工智能技术的不断发展&#xff0c;边缘AI技术逐渐成为智能交通领域的研究热点。其中&#xff0c;基于边缘AI的车辆结构化数据技术与车辆监控系统是实现智能交通系统的重要手段之一。为了满足市场需求&#xff0c;TSINGSEE青犀边缘AI智能分析网关/视频智能分析平台推出了一…

windows安装库报错

报错信息 ERROR: Command errored out with exit status 1: ‘D:\test\venv\Scripts\python.exe’ -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] ‘"’"‘C:\Users\aaa\AppData\Local\Temp\pip-install-j oni55ju\xxx_350c8d1094f749eb97d8f049…