0025-PAT满分行动第一天:python和C解决问题

本文记录了作者的编程刷题计划与实施过程,涉及Python和C语言的使用,包括计算数字之和并转化为汉语拼音,查找立方和等于原数的三位数,以及处理竞赛成绩数据并找出最高分的学校。通过实例展示了数据处理和算法的应用。
摘要由CSDN通过智能技术生成

目录​​​​​​​

一、刷题计划

二、刷题记录

1002.读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

逗号的处理

1032.挖掘机技术哪家强​​​​​​​


一、刷题计划

共计110+167,计划每日8题,一周复习一天

主要使用语言python,在时间内存不足算法中学习C语言,并于此记录C语言笔记学习过程

二、刷题记录

1002.读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

pin = 'ling yi er san si wu liu qi ba jiu'
s = input()
ss = ''
sum = 0
for c in s:
    sum = sum + eval(c)
pinyin = pin.split(' ')
sum_str = str(sum)
for c in sum_str:
    ss = ss + '{} '.format(pinyin[eval(c)])
print(ss[:-1])

逗号的处理

s = ""
for i in range(100, 1000):
    t = str(i)    #字符化t
    if pow(eval(t[0]),3) + pow(eval(t[1]),3) + pow(eval(t[2]),3) == i :
        s += "{},".format(i)
print(s[:-1])  #这里用s控制不输出最后一个','

 

1032.挖掘机技术哪家强

输入格式:

输入在第 1 行给出不超过 105 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。

输出格式:

在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。

mount = int(input())
d = {}
for i in range(mount):
    school_number,grade = map(int,input().split())
    if school_number in d.keys():
        d[school_number] = d[school_number]+grade
    else:
        d[school_number] = grade
match_result = sorted(d.items(),key=lambda x:x[1],reverse=True)
print(str(match_result[0][0])+' '+str(match_result[0][1]))

 

#include <cstdio>
const int maxn = 100010;
int school[maxn] = {0};
int main() {
	int n, schID,score;
	scanf("%d", &n);
	for(int i = 0; i < n; i++) {
		scanf("%d%d", &schID, &score);
		school[schID] = school[schID] + score;
	}
	int k = 1, MAX = -1;
	for(int i = 1; i <= n; i++) {
		if (school[i] > MAX) {
			MAX = school[i];
			k = i;
		}
	}
	printf("%d %d\n", k, MAX);
	return 0;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值