哈工大 sse C语言 困难

Q1892.(10分数, 语言: C)Two Bags of Potatoes
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
Valera had two bags of potatoes, the first of these bags contains x (x≥1)
potatoes, and the second — y (y≥1) potatoes. Valera — very scattered
boy, so the first bag of potatoes (it contains x potatoes) Valera lost.
Valera remembers that the total amount of potatoes (x+y) in the two bags,
firstly, was not gerater than n, and, secondly, was divisible by k.
Help Valera to determine how many potatoes could be in the first bag.
Print all such possible numbers in ascending order.
Input
The first line of input contains three integers y, k, n (1≤y,k,n≤10^9;
n/k≤10^5).
Output
Print the list of whitespace-separated integers — all possible values
of x in ascending order. You should print each possible value of x exactly
once. If there are no such values of x print a single integer -1.

中文翻译:

题目描述

瓦莱拉有两个装满土豆的袋子。第一个袋子里有x(x≥1)个土豆,第二个袋子里有y(y≥1)个土豆。瓦莱拉是一个非常粗心大意的男孩,所以他丢失了第一个袋子(里面装有x个土豆)。

瓦莱拉记得,这两个袋子里的土豆总数(x+y)首先不会超过n,其次这个总数能被k整除。

请帮助瓦莱拉确定第一个袋子里可能有多少个土豆。按照升序打印出所有可能的数字。

输入

输入的第一行包含三个整数y, k, n(1≤y,k,n≤10^9;n/k≤10^5)。

输出

打印一个由空格分隔的整数列表——所有可能的x值,按照升序排列。每个可能的x值应该只打印一次。如果没有这样的x值,打印单个整数-1。

题目分析

这道题目要求我们找到所有可能的x值,满足条件:x + y ≤ n 且 (x + y) % k == 0。

我们可以遍历所有可能的x值,从1开始,直到n - y(因为x + y ≤ n),检查每个x值是否满足第二个条件 (x + y) % k == 0。如果满足,则打印该x值。

如果遍历完所有可能的x值后都没有找到满足条件的x,则打印-1。

#include <stdio.h>  int main() {  long long y, k, n;  scanf("%lld %lld %lld", &y, &k, &n);  int found = 0; // 标记是否找到满足条件的x  for (long long x = 1; x <= n - y; ++x) {  if ((x + y) % k == 0) {  printf("%lld ", x);  found = 1;  }  }  if (!found) {  printf("-1");  }  return 0;  
}
Q1331.(10分数, 语言: C)将一个链表按逆序排列,即将链头当链尾,链尾当链头。
程序的运行示例如下:
请输入链表(非数表示结束)
结点值:3
结点值:4
结点值:5
结点值:6
结点值:7
结点值:end
原来表:3   4   5   6   7反转表:7   6   5   4   3

 链表用数组完成

#include<stdio.h>
#define N 100
void main(){int a[N];int i=-1;int x;printf("\n请输入链表(非数表示结束)\n");do{i++;printf("结点值:");x = scanf("%d",&a[i]);}while(x==1);i--;printf("\n原来表:\n");for(int j=0;j<=i;j++){printf("%4d",a[j]);}for(int j=0;j<=i/2;j++){int term = a[j];a[j] = a[i-j];a[i-j] = term;}printf("\n\n反转表:\n");for(int j=0;j<=i;j++){printf("%4d",a[j]);}}
Q378.(10分数, 语言: C)

*汉诺塔问题是一个著名的问题,初始模型如图所示。其来源据说是在约19世纪末欧洲的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆自上而下、由小到大顺序串着64个圆盘构成的塔,游戏的目的是将最左边A杆上的圆盘,借助最右边的C杆,全部移动到中间的B杆上,条件是一次仅能移动一个盘,且不允许大盘放在小盘的上面。

**输入格式要求:"%d" 提示信息:"Please enter the number of discs:"

**输出格式要求:"\tTotal:%d\n"    "%2d-(%2d):%c==>%c\n" 

if (n == 1) {  
        (*count)++;
        printf("%2d-(%2d):%c==>%c\n" , *count, n, from, to); 
        return;  
    }  
    hanoi(n - 1, from, aux, to,count);  
    (*count)++;
    printf("%2d-(%2d):%c==>%c\n", *count, n, from, to);  
    hanoi(n - 1, aux, to, from,count);  

#include <stdio.h>  void hanoi(int n, char from, char to, char aux,int *count) {  if (n == 1) {  (*count)++;printf("%2d-(%2d):%c==>%c\n" , *count, n, from, to); return;  }  hanoi(n - 1, from, aux, to,count);  (*count)++;printf("%2d-(%2d):%c==>%c\n", *count, n, from, to);  hanoi(n - 1, aux, to, from,count);  
}  int main() {  int n;int count=0; printf("Please enter the number of discs:");  scanf("%d", &n);  // 从a杆移动到b杆,使用c杆作为辅助  hanoi(n, 'a', 'b', 'c',&count);  // 输出总步数  printf("\tTotal:%d\n", count); return 0;  
}
Q3079.(10分数, 语言: C)猴子吃桃程序_扩展2
猴子第一天摘了若干个桃子,吃了一半,不过瘾,又多吃了1个。第二天早上将剩余的桃子又吃掉一半,并且又多吃了1个。此后每天都是吃掉前一天剩下的一半零一个。到第n天再想吃时,发现只剩下1个桃子,问第一天它摘了多少桃子?为了加强交互性,由用户输入不同的天数n进行递推,即假设第n天的桃子数为1。同时还要增加对用户输入数据的合法性验证(如:不允许输入的天数是0和负数)程序运行结果示例:
Input days:
0↙
Input days:
-5↙
Input days:
a↙
Input days:
3↙
x=10输入格式:"%d"
输出格式:
输入提示信息:"Input days:\n"
输出:"x=%d\n"

// 如果读取失败,则清除输入缓冲区  
            while (getchar() != '\n');  

#include <stdio.h>  int main() { // main 函数应该有返回类型 int  int n;  do {  printf("Input days:\n");  int success = scanf("%d", &n); // 检查scanf的返回值  if (success != 1) {  // 如果读取失败,则清除输入缓冲区  while (getchar() != '\n');  }  } while (n <= 0);  int sum = 1;  for (int i = 0; i < n-1; i++) {  sum = (sum + 1) * 2;  }  printf("x=%d\n", sum); // 输出变量名应该和变量定义保持一致  return 0; // main 函数应返回0表示程序正常结束  
}
Q1313.(10分数, 语言: C)找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小。也可能没有鞍点。
**输入数据格式:
"\n输入行数:"
"%d"
"\n输入列数:"
"%d"
"第%d行?\n"
"%d"
**输出格式要求:
"%5d"
"\n第%d行,第%d列的%d是鞍点\n"
"\n矩阵中无鞍点!\n"
程序的运行示例1如下:
输入行数:3
输入列数:3
第0行?
1 2 3
第1行?
4 5 6
第2行?
7 8 91    2    34    5    67    8    9第0行,第2列的3是鞍点
程序的运行示例2如下:
输入行数:2
输入列数:2
第0行?
1 2
第1行?
4 11    24    1矩阵中无鞍点!

#include <stdio.h>
#include <stdlib.h>#define M_ROW 3
#define N_COL 3int main(){int M,N;int matrix[M_ROW][N_COL];printf("\n输入行数:");scanf("%d",&M);printf("\n输入列数:");scanf("%d",&N);for(int i = 0; i < M; i++){printf("第%d行?\n",i);for(int j = 0; j < N; j++){scanf("%d", &matrix[i][j]);}}for(int i = 0; i < M; i++){for(int j = 0; j < N; j++){printf("%5d",matrix[i][j]);}printf("\n");}int sign = 0;int row, col, maxRow, colMin;for(int i = 0; i < M; i++){maxRow = matrix[i][0];row = i;col = 0;for(int j = 0; j < N; j++){if(matrix[i][j] > maxRow){maxRow = matrix[i][j];row = i;col = j;}}colMin = maxRow;for(int k = 0; k < M; k++){if(matrix[k][col] < colMin){colMin = matrix[k][col];break;}}if(colMin == maxRow){sign = 1;printf("\n第%d行,第%d列的%d是鞍点\n",row , col,maxRow);}}if(sign == 0){printf("\n矩阵中无鞍点!\n");}system("pause");return 0;
}

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

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

相关文章

RAG进阶笔记:RAG进阶

1 查询/索引部分 1.1 层次索引 创建两个索引——一个由摘要组成&#xff0c;另一个由文档块组成分两步进行搜索&#xff1a;首先通过摘要过滤出相关文档&#xff0c;接着只在这个相关群体内进行搜索 1.2 假设性问题 让LLM为每个块生成一个假设性问题&#xff0c;并将这些问…

SQL104 返回产品名称和每一项产品的总订单数(left join..on.. ,group by)

select prod_name,count(order_num) as orders from Products P left join OrderItems OI on OI.prod_id P.prod_id group by prod_name order by prod_name;left join一个数据条多的表 count&#xff08;order_num&#xff09;,group by 另一个字段

C/C++ 各种编译器平台判断,返回对应平台CPU缩写符

参考以下实现&#xff0c;MIPS、ARM、RISV64、X86、X86_64、M68K、S390X、MIPS64、PPC64、LONGARCH32、LONGARCH64等。 const char* GetPlatformCode() noexcept { #if defined(__x86_64__) || defined(_M_X64)return "X86_64"; #elif defined(i386) || defined(__i3…

openEuler 22.03 安装 .NET 8.0

openEuler 22.03 安装 .NET 8.0 openEuler 22.03 安装 .NET 8.0 openEuler 22.03 安装 .NET 8.0 查看内核信息 [jeffPC-20240314EIAA ~]$ cat /proc/version Linux version 5.15.146.1-microsoft-standard-WSL2 (root65c757a075e2) (gcc (GCC) 11.2.0, GNU ld (GNU Binutils)…

ArkTS 的基本语法

ArkTS 的基本语法 ArkTS 是鸿蒙生态的应用开发语言。它在保持 TypeScript&#xff08;简称 TS&#xff09;基本语法风格的基础上&#xff0c;对 TS 的动态类型特性施加更严格的约束&#xff0c;引入静态类型。同时&#xff0c;提供了声明式 UI、状态管理等相应的能力&#xff…

全志R128 SDK HAL 模块开发指南——GPADC

GPADC 模块介绍 GPADC 是 12bit 采集精度的模数转换模块&#xff0c;支持 4 路通道&#xff0c;模拟输入范围 0-1.8v&#xff0c;最高采样率 1MHZ&#xff0c;并且支持数据比较&#xff0c;自校验功能&#xff0c;同时工作于可配置的四种工作模式&#xff1a; Single mode&a…

科学高效备考2024年汉字小达人:历年真题详细解析-古诗文专题10

距离2024年第11届汉字小达人比赛还有七个多月的时间&#xff0c;如何利用这段时间有条不紊地备考呢&#xff1f;我的建议是两手准备&#xff1a;①把小学1-5年级的语文课本上的知识点熟悉&#xff0c;重点是字、词、成语、古诗。阅读理解不需要。②把历年真题刷刷熟&#xff0c…

JAVA的sort用法详解(二维数组排序,List<>排序,lambada表达式,自定义类型排序)

目录 前言&#xff1a; 一维数组降序&#xff1a; 方法1.Comparator接口&#xff1a; 代码实现&#xff1a; 方法2.Collections.reverseOrder()&#xff1a; 代码实现&#xff1a; 二维数组排序&#xff1a; 代码如下&#xff1a; List<>排序&#xff1a; 代码…

Ansible-1

Ansible是一款自动化运维、批量管理服务器的工具&#xff0c;批量系统配置、程序部署、运行命令等功能。基于Python开发&#xff0c;基于ssh进行管理&#xff0c;不需要在被管理端安装任何软件。Ansible在管理远程主机的时候&#xff0c;只有是通过各种模块进行操作的。 需要关…

Linux 注入依赖环境

文章目录 配置依赖程序安装 JDK安装 Tomcat安装 mysql 配置依赖程序 下面配置依赖程序都以CentOS为例。 安装 JDK 可以直接使用 yum(CentOS) 直接进行安装。 先搜索&#xff0c;确定软件包的完整名称。 yum list | grep jdk再进行安装 进行安装的时候一定要先确保处在“管理…

【详细讲解React 快速入门教程】

&#x1f525;博主&#xff1a;程序员不想YY啊&#x1f525; &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f4ab; &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 &#x1f308;希望本文对您有所裨益&#xff0c;如有…

【C语言】strcmp 的使⽤和模拟实现

前言 这篇文章将要带我们去实现模拟一个strcmp函数 首先我们要知道strcmp函数的定义 strcmp()定义和用法 我们先看一下strcmp在cplusplus网站中的定义 链接: link int strcmp ( const char * str1, const char * str2 );比较两个字符串将 C 字符串 str1 与 C 字符串 str2 …

Java Stream API之reduce方法详解

Java 8引入的Stream API为Java开发者带来了函数式编程的风格&#xff0c;使得数据处理变得更加简洁和高效。在这众多的流操作中&#xff0c;reduce()方法是一个非常强大且灵活的工具&#xff0c;它可以将流中的元素组合起来&#xff0c;生成单一的汇总结果。本文旨在深入探讨re…

ajaxpro CVE-2021-23758 漏洞记录

1. 一般出现在asp.net的站点 打开页面&#xff0c;源代码会看到 类似/ajaxpro/gust_search,wlms.ashx路径 如果有源代码的话&#xff0c;copy aspx all.txt 去掉分号中间空格批量请求。 2. ajaxpro组件存在CVE-2021-23758漏洞&#xff0c;标有属性[AjaxPro.AjaxMethod]或[A…

openssl AF_ALG引擎使用

cmd AF_ALG是Linux提供的一种虚拟接口&#xff0c;用于访问内核中的加密算法。在Linux中&#xff0c;可以使用AF_ALG接口配合加密算法框架&#xff08;Crypto API&#xff09;来进行加密操作。 以下是一个使用AF_ALG和openssl进行加密操作的例子&#xff1a; # 加密 openssl…

C++ 内存泄漏-原因、避免、定位

大家好&#xff01;作为C/C开发人员&#xff0c;内存泄漏是最容易遇到的问题之一&#xff0c;这是由C/C语言的特性引起的。C/C语言与其他语言不同&#xff0c;需要开发者去申请和释放内存&#xff0c;即需要开发者去管理内存&#xff0c;如果内存使用不当&#xff0c;就容易造成…

smarteye server内置对多种第三方协议(28181/RTSP/RTMP)的输入、输出的支持

smarteye server内置支持了多种协议的输入转换、转换输出&#xff0c;包括GB28181、RTSP、RTMP等等。 目前smarteye server可支持的输入、输出的协议有&#xff1a;RTSP in/out, ONVIF in, RTMP in/out&#xff0c;GB28181 in/out。 常用的即smarteye server可作为国标28181…

最新海外投资理财源码 amazon多语言投资理财系统源码 区块链理财项目平台源码 共享充电宝系统

一款新UI的海外多语言刷单系统&#xff0c;支持后台在线添加订单派单、预约派单、余额宝等功能 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88949885 更多资源下载&#xff1a;关注我。

Unity生命周期函数(自己记忆用)

在Unity中&#xff0c;每个游戏对象&#xff08;GameObject&#xff09;都可以附加一个或多个脚本&#xff08;Script&#xff09;&#xff0c;这些脚本继承自MonoBehaviour类。MonoBehaviour类定义了一系列的生命周期函数&#xff0c;这些函数在游戏的不同阶段被自动调用&…

python模糊字符串匹配库fuzzywuzzy

一、概述 Python的fuzzywuzzy库是一个强大的模糊字符串匹配工具&#xff0c;基于Levenshtein距离算法&#xff0c;可用于处理文本相似度匹配任务。本文将深入探讨fuzzywuzzy库的各种功能和用法&#xff0c;结合详细的描述和丰富的示例代码&#xff0c;带领大家全面了解这个工具…