Day2 洛谷1035+1047+1085+1089+1150+1151

零基础洛谷刷题记录

Day1 2024.11.18

Day2 2024.11.25


文章目录


级数求和

1035:题目描述

已知:Sn=1+1/2+1/3+...+1/n。显然对于任意一个整数 k,当 n 足够大的时候,Sn>k。现给出一个整数 k,要求计算出一个最小的 n,使得 Sn>k

1035:解答代码

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int k;
	scanf("%d", &k);
	double sum = 1;
	int i = 2;
	while (sum <= k)
	{
		sum += (1.0 / i);
		i++;
	}
	printf("%d", i - 1);
	return 0;
}

1035:学习成果

  • 整数相除
c 复制代码
7/2=3
7%2=1
  • 浮点数相除
c 复制代码
#include<stdio.h>
int main()
{
    float a = 7.0 / 2;
    printf("%f\n", a);
        return 0;
}

校门外的树

1047:题目描述(成功写出)

某校大门外长度为 l 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 l 的位置;数轴上的每个整数0,1,2,...,l,都种有一棵树。

由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

1047:解答代码

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int length;
	int number;
	scanf("%d %d", &length, &number);
	int all = length + 1;

	int arr[10000];

	for (int j = 0; j <= length; j++)
	{
		arr[j] = 1;
	}
	for (int i = 0; i < number; i++)
	{
		int  left;
		int right;
		scanf("%d %d", &left, &right);

		for (int j = left; j <= right; j++)
		{
			arr[j] = 0;
		}
	}
	int answer = 0;
	for (int j = 0; j <= length; j++)
	{
		if (arr[j] == 1)
		{
			answer++;
		}
	}
	printf("%d\n", answer);
	return 0;
}

1047:学习成果

  • 成功想出标记的思路,非常好

不高兴的津津

1085:题目描述(成功写出)

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴

1085:解答代码·

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int sum = 0;
	int max = 0;
	int day = 1;
	int school;
	int mother;

	for (int i = 1; i < 8; i++)
	{
		scanf("%d %d", &school, &mother);
		sum = school + mother;
		if (sum > max)
		{
			max = sum;
			day = i;
		}
	}
	if (max <= 8)
	{
		day = 0;
	}
	printf("%d\n", day);
	return 0;
}

1085:学习成果

  • 利用逐项比较的方式得到答案

津津的储蓄计划

1089:题目描述(成功写出)

津津的零花钱一直都是自己管理。每个月的月初妈妈给津津 300 元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。

为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上 20% 还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于 100 元或恰好 100 元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

例如 11月初津津手中还有 83 元,妈妈给了津津 300 元。津津预计11月的花销是 180 元,那么她就会在妈妈那里存 200 元,自己留下 183 元。到了 11 月月末,津津手中会剩下 3 元钱。

津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。

现在请你根据 2004 年 1 月到 12 月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到 2004 年年末,妈妈将津津平常存的钱加上 20% 还给津津之后,津津手中会有多少钱。

1089:解答代码

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int addtion = 0;
	int hand = 0;
	int deposit = 0;
	int number = 0;

	for (int i = 1; i < 13; i++)
	{
		hand += 300;
		int budget;
		scanf("%d", &budget);

		if (hand < budget)
		{
			printf("-%d\n", i);
			return 0;
		}
		addtion = hand - budget;
		if (addtion >= 100)
		{
			number = addtion / 100;
			deposit += number * 100;
			hand = hand - number * 100;
		}
		hand = hand - budget;
	}

	int out = deposit * 1.2 + hand;
	printf("%d\n", out);

	return 0;
}

1089:学习成果

  • 思路清晰即可

prter的烟

1150:题目描述(成功写出)

Peter 有 n 根烟,他每吸完一根烟就把烟蒂保存起来,k(k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?

1150:解题代码

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int remain = 0;
	int n;
	int k;
	scanf("%d %d", &n, &k);
	int all = n;

	remain += n;
	while (remain >= k)
	{
		int i = remain / k;
		int j = remain % k;
		remain = j + i;
		all += i;
	}
	printf("%d\n", all);
	return 0;
}

1150:学习成果

  • 逻辑清晰即可

子树整数

1151:题目描述(成功写出)

现在给定一个正整数 K,要求你编程求出 10000 到 30000 之间所有满足下述条件的五位数,条件是这些五位数的三个子数 sub 1,sub 2 ,sub 3 都可被 K 整除。

1151:解题代码

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int k;
	scanf("%d", &k);
	int tag = 0;

	for (int i = 10000; i <= 30000; i++)
	{
		int num1 = i / 100;
		int num2 = i % 1000;
		int num3 = (i / 10) % 1000;
		if (num1 % k == 0 && num2 % k == 0 && num3 % k == 0)
		{
			printf("%d\n", i);
			tag = 1;
		}
	}
	if (tag == 0)
	{
		printf("No\n");
	}
	return 0;
}

1151:学习成果

  • 逻辑清晰即可

总结

相关推荐
Black蜡笔小新6 小时前
自动化AI算法训练服务器DLTM助力医学影像分析进入AI智能分析新时代
人工智能·算法·自动化
手写码匠7 小时前
深入解析大模型架构之争:全能通用模型 vs 领域专精模型
人工智能·深度学习·算法·aigc
浅念-8 小时前
LeetCode 回溯算法题——综合练习
数据结构·c++·算法·leetcode·职场和发展·深度优先·dfs
列星随旋8 小时前
线段树和树状数组的学习
学习·算法
全糖可乐气泡水10 小时前
Codex适配国产信创环境安装部署与技术适配全解析
开发语言·git·python·算法·百度
h_a_o777oah10 小时前
状态机+划分型 DP :深度解析K-划分问题下 DP 状态的转移逻辑(洛谷P2679 P2331 附C++代码)
c++·算法·动态规划·acm·状态机dp·划分型dp·滚动数组优化
05候补工程师10 小时前
从算法理想向工程现实的跨越:SLAM 核心架构、思维误区与 Nav2 实战避坑指南
人工智能·算法·安全·架构·机器人
手写码匠12 小时前
Android 17 适配实战指南:新特性解读、隐私变更与迁移全攻略
人工智能·深度学习·算法·aigc
珊瑚里的鱼12 小时前
leetcode42雨水
算法·leetcode