GDPU C语言 天码行空8

news2024/10/6 20:36:54

1. 求序列和

在这里插入图片描述


⭐ 输出没有小数的浮点数

#include <stdio.h>

double fun(int a, int n)
{
	double res = 0;
	int aa = a,i;//aa 记录每一项
	for(i = 1; i <= n; i++){
		res += aa;
		aa = aa * 10 + a;
	}
	return res;
}

int main(){
	int a,n;
	scanf("%d %d", &a,&n);
	printf("s=%.0lf", fun(a, n));
	return 0;
}

2. 求和函数的编写问题

⭐ 找规律

#include <stdio.h>

int sum(int sta, int cnt){
	int res = 0,i;
	for(i = sta; i < sta + cnt; i++)
		res += i;
	return res;
}

int main(){
	int n,i;
	scanf("%d",&n);
	int ans = 0;
	for(i = 1; i <= n; i++)
		ans += sum(i, i + 1);

	printf("sum=%d", ans);
	return 0;
}

3. 编写求 Fibonacci 数列第n项的值的函数问题

在这里插入图片描述


⭐ 斐波那契:1 1 2 3 5 ……
⭐ 记忆化搜索:在递归的基础上,去掉重复计算
⭐ 全局整型数组:默认值为 0

#include <stdio.h>

//记忆化搜索版
int f[1000000];
int fib(int n){
	if(f[n])
		return f[n];

	if(n == 1 || n == 2)
	{
		f[n] = 1;
		return f[n];
	}
	
	f[n] = fib(n-1) + fib(n-2);
	return f[n];
}


/*
//暴力递归版
int fib(int n){
	if(n == 1 || n == 2 )
		return 1;
	
	return fib(n - 1) + fib(n - 2);
}
*/
int main(){
	int n, m,i;
	scanf("%d,%d", &m, &n);
	int sum = 0;
	for(i = m; i <= n; i++)
		sum += fib(i);

	printf("sum=%d",sum);
	return 0;
}

4. 使用素数判断函数求区间内素数的和

在这里插入图片描述


😅 课后习题?找不到,不做了
⭐ 线性筛法求素数 O(n)

#include <stdio.h>

int st[1000000];//标记数组(0为素数,1为合数)(从 2 开始)
int p[1000000];//素数数组
int cnt;//素数个数

//初始 0 到 n 的所有素数
void init(int n){
	int i, j;
	st[1] = 1;//特殊处理一下 1,1 既不是质数,也不是合数
	for(i = 2; i <= n; i++)
	{
		if(!st[i])//没被筛掉的就是素数
			p[cnt++] = i;

		//线性筛法求素数
		for(j = 0; p[j] <= n / i; j++)
		{
			st[p[j] * i] = 1;//合数?干掉

			if(i % p[j] == 0)//保证每个合数都是被它的最小质因子筛掉的
				break;
		}
	}
}

int main()
{
	int low, up,i;
	scanf("%d,%d", &low, &up);
	init(up);
	int count = 0;
	int sum = 0;
	for(i = low; i <= up; i++)
	{
		if(!st[i])
		{
			count++;
			sum += i;
		}
	}
	printf("count=%d,sum=%d", count, sum);
	return 0;
}

5. 素数判断函数及其应用问题

在这里插入图片描述


😅 期末押题:判断素数

#include <stdio.h>

//素数扣 1
int prime(int n){
	int i;
	for(i = 2; i <= n / i; i++)
	{
		if(n % i == 0)
			return 0;
	}
	return 1;
}

int main()
{
	int n, i,j;
	scanf("%d", &n);
	for(i = n; i <= n + 10; i += 2)//枚举 [n,n+10] 的每一个偶数
	{
		for(j = 2; j <= i / 2; j++){//枚举 i 的每一对因子
			if(prime(j) && prime(i - j))//一对因子都是 素数
			{
				printf("%d=%d+%d\n", i, j, i - j);
				break;//跳出枚举因子对的 for循环
			}
		}
	}
	return 0;
}

6. 使用函数统计指定数字的个数

在这里插入图片描述
⭐ 取出 x 的每一位:x%10,x/10

#include <stdio.h>

//返回参数 x 中 2 的个数
int get2(int x){
	int res = 0;
	while(x)
	{
		if(x % 10 == 2)
			res++;
		x /= 10;
	}
	return res;
}


int main()
{
	int n;
	scanf("%d", &n);
	printf("count=%d",get2(n));
	return 0;
}

7. 输出 m~n 之间的所有水仙花数

在这里插入图片描述


😋 水仙花啊?简简单单啦,上手就是一顿乱敲……

在这里插入图片描述
😅 不得不吐槽一下:卡这种输出格式是想考验同学们的 printf(“答案”)的功底吗?


#include <stdio.h>

//参数 x 是水仙花数返回 1
int is(int x)
{
	int sum = 0; 
	int xx = x;//xx 备份一下 x
	while(x)
	{
		int t = x % 10;
		sum += t*t*t;
		x /= 10;
	}
	if(sum == xx)
		return 1;
	return 0;
}



int main()
{
	int n,m,i;
	printf("Input m and n: ");//神之输出
	scanf("%d %d", &m,&n);
	for(i = m; i <= n; i++)
	if(is(i))
		printf("%d\n", i);
	
	return 0;
}

8. 日期对应天数问题

在这里插入图片描述


⭐ 老题新做,函数调用的思想

#include <stdio.h>

// 返回 1 表示 闰年
int Isleap(int year){
	if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
		return 1; // 是闰年
	else
		return 0; // 不是闰年
}

// 验证日期合法性,并返回布尔值
int IsDate(int year, int month, int day){
	int days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // 每个月份对应的天数

	if(Isleap(year)) days[1] = 29; // 如果是闰年,将2月改为29天

	if(month < 1 || month > 12)      return 0; // 月份非法
	if(day < 1 || day > days[month - 1]) return 0; // 日子非法
	return 1;
}

// 计算日期对应的天数,并返回结果
int Days(int year, int month, int day){
	int days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // 每个月份对应的天数

	if(Isleap(year)) days[1] = 29; // 如果是闰年,将2月改为29天

	int count = 0,i;
	for(i = 0; i<month - 1; i++){
		count += days[i]; // 加上这个月之前的所有天数
	}
	count += day; // 加上当前这个月的天数

	return count;
}

int main(){
	int year, month, day;
	scanf("%d-%d-%d", &year, &month, &day);

	if(IsDate(year, month, day)){
		int day_count = Days(year, month, day);
		printf("NO:%d", day_count);
	}
	else{
		printf("DateError\n");
	}
	return 0;
}

🤠 投我以桃,报之以李。

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

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

相关文章

Linux学习笔记——HTTPS协议

文章目录HTTPS是什么什么是加密为什么要进行加密常见的加密方式数据摘要与数据指纹数字签名HTTPS的工作过程探究方案1—只使对称加密方案2—只使非对称加密方案3—双方都是用非对称加密方案4—非对称加密对称加密中间人攻击证书方案5—非对称加密对称加密证书认证HTTPS是什么 H…

hypack单波束采集和处理基本流程

前两天有个读者问是否有单波束测深的操作和处理的步骤&#xff0c;在xiaok海洋测绘网上用关键字“单波束”搜索的结果就是确实没有相关的文章&#xff0c;相关的文章都是外业过程记录。下面以单波束XX&#xff08;可以是任何单波束&#xff09;和采集处理软件Hypack为例说明单波…

树莓派通过网线连接笔记本实现笔记本电脑Wifi的网络共享

基于windows电脑连接树莓派进行设置&#xff1a;通过通过一根网线&#xff0c;连接树莓派和电脑&#xff0c;使电脑和树莓派构成一个局域网&#xff0c;然后树莓派接收来自笔记本电脑wifi网络的共享网络。操作方法类似台式机通过网线共享笔记本电脑无线网络的步骤 1、 保证笔记…

[c++整人代码]超级加倍,让人承认自己是大傻猪

㊀程序介绍 这是本人看到的一个整人小病毒&#xff0c;唯一的杀伤力就是逼着你想坑的人承认他是猪。 本次更新&#xff1a;要求运行程序的人手动输入“我是猪”三个字 ㊁程序截图 1 本程序的窗口会自动保持最前 2 无法关闭本窗口 ㊂代码展示&#xff1a; #include <Wi…

【pinia持久化存储】使用pinia和pinia-plugin-persistedstate依赖进行数据的持久化存储

简言 使用pinia和pinia-plugin-persistedstate依赖进行数据的持久化存储。 存储方式 &#xff1a; localStoragesessionStorage pinia-plugin-persistedstate 中文官网 pinia 中文官网 安装 安装和使用 pinia &#xff0c;请参考使用pinia文章。 安装 pinia-plugin-pers…

使用PDF猫怎么将PNG图片转化成JPG格式图片?

如需了解更多办公应用的相关教程&#xff0c;可到赛效官方网站的应用资讯栏目或者应用问答栏目下查看更多。 TXT文本工具是微软操作系统上附带的一种文本格式&#xff0c;打开速度比较快&#xff0c;且记录文字内容时比较便捷且快速&#xff0c;但是很多时候记录成TXT文本的工…

八大排序算法(冒泡排序、快速排序、堆排序.....)

每坚持一天&#xff0c;offer就会离我更近一步&#x1f339; 文章目录冒泡排序选择排序插入排序希尔排序快速排序计数排序堆排序归并排序冒泡排序 算法描述&#xff1a;从第一个元素开始&#xff0c;两两比较&#xff0c;如果前者比后者大&#xff0c;那么就将两者进行交换&am…

[oeasy]python0133_[趣味拓展]颜文字_流石兄弟_表情文字_2ch_kaomoji

颜文字 回忆上次内容 上次我们了解unicode 里面有各种字体 甚至还有emoji emoji 本质上也是文字 按照unicode的方式编码存储时按照utf-8的方式编码显示时按照系统定义的方式进行显示 还有什么好玩的亚文化吗&#xff1f;&#x1f914; emoticon 1982 年 9 月 19 日 诞生了第…

docker安装rabbitmq的延迟队列插件

1.进入rabbitmq镜像 docker exec -it rabbitmq bash2.查看rabbitmq版本号&#xff0c;方便查找对应版本的延迟队列插件 rabbitmqctl version2.查询rabbitmq插件列表 rabbitmq-plugins list若没有rabbitmq_delayed_message_exchange-xxx.ez&#xff0c;则可以去[延迟队列插件…

win11家庭版 使用vm进行虚拟化的设置(此平台不支持虚拟化的 Intel VT-x/EPT。)

一、安装vm,进入BIOS设置虚拟化&#xff08;vm安装16.2以上版本&#xff09; 这个网上很多&#xff0c;就不说了 二、此时安装vm,创建虚拟机就没问题了&#xff0c;但是想继续再虚拟化&#xff0c;将会有一个问题“此平台不支持虚拟化的 Intel VT-x/EPT。” &#xff08;很多…

中移链系统合约管控功能介绍

中移链是在满足我国信息化监管需求、合规可控的前提下&#xff0c;打造的中国移动区块链服务平台。如果把中移链类比为计算机系统&#xff0c;那么系统合约就是中移链中的系统设置部分&#xff0c;用于配置和管理链的资源和行为。在计算机系统中,系统设置提供了对计算机系统的底…

SE11/SM30 维护视图

文章目录创建维护视图偶遇错误创建维护视图 首先我们现在SE11中创建一个透明表,然后点击如下图 需要我们创建一个函数组,他的目的是为了让系统生成相应的代码放在这个函数组中,也可以说是SM30的操作界面;点击上面的保存就可以了 注意在输入屏幕编号的时候切记不要和其他的维护…

ChatGPT背后的逻辑

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl OpenAI与ChatGPT OpenAI是一个美国的人工智能&#xff08;AI&#xff09;研究实验室&#xff0c;由非营利组织OpenAI Incorporated和其盈利子公司OpenAI Limited Partnersh…

HTTPS 加密简析

1 前言 HTTPS采用的是对称加密和非对称加密的混合加密方法。 密码学知识可以查看我的这篇博客 CISSP考试要求里的“应用密码学”内容辅助记忆趣味串讲_晓翔仔的博客-CSDN博客 2.HTTPS加密过程 https在建立链接时是非对称加密&#xff0c;建立链接后是对称加密。 步骤1 客户端…

初识掌控板2.0、官方拓展板和配套编程软件mpython

不是广告&#xff01;&#xff01;不是广告&#xff01;&#xff01; 一、掌控板2.0概览 掌控板又名掌上联网计算机&#xff0c;是一款为青少年学习Python编程和创意制造&#xff0c;特别是物联网应用而设计的开源硬件。内置microPython开源嵌入式Python运行环境&#xff0c;可…

怎么将静图变动图?用这个网站就够了

在使用聊天工具聊天时&#xff0c;大家都喜欢用一些动态的表情包&#xff0c;这种动态表情包就是gif格式图片。因为其生动丰富的画面能够通过一张图片表达多种信息。那么&#xff0c;如何生成gif图片呢&#xff1f;一、什么工具能够制作gif动画&#xff1f; GIF中文网作为一款…

allwinner boot0启动

目录 路径&#xff1a;u-boot-2018/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds 路径&#xff1a;u-boot-2018/arch/arm/cpu/armv7/start.S 路径&#xff1a;u-boot-2018/arch/arm/lib/crt0.S 路径&#xff1a;u-boot-2014.07\common\board_f.c 路径&#xff1a;u-boot-2014.…

领英如何不让对方查看自己的好友,防止他人添加自己客户

那如何防止好友加自己的好友呢&#xff1f;其实领英是可以设置谁能查看到自己好友的&#xff0c;甚至不让所有人查看。 领英是一个关系性的职业社交平台&#xff0c;最大的特点就是关系性。彼此有某种关系的人或在3度内的人都可以查看对方的详细资料&#xff0c;甚至可添加对方…

Redis 如何配置读写分离架构(主从复制)?

文章目录Redis 如何配置读写分离架构&#xff08;主从复制&#xff09;&#xff1f;什么是 Redis 主从复制&#xff1f;如何配置主从复制架构&#xff1f;配置环境安装 Redis 步骤通过命令行配置从节点通过配置文件配置从节点Redis 主从复制优点Redis 主从复制缺点Redis 如何配…

第十四届蓝桥杯单片机省赛真题(巨简代码+超级详解)

文章目录前言一、陷阱分析二、代码相关定义、声明1.变量声明2.函数声明三、主要函数1.函数初始化 &#xff1a;关闭蜂鸣器、定时器初始化、设置时间、消除85℃影响、开启总中断2.按键扫描&#xff1a;长按松开清除数据&#xff0c;短按切换界面&#xff0c;加减参数3.数据采集与…