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

PAT满分行动第一天:python和C解决问题,第1张

一、刷题问题记录

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

主要使用语言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 
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;
}

二、C语言语法笔记

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/713593.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存