PTA乙级
edccce
老鼠人,在自学转行计算机。
展开
-
【PTA乙级C语言】1007素数对猜想
思路1.首先是要写一个bool类型的判断函数来判断是否为素数,来判断范围内的数字2.原本思路是先构建一个素数表prime[],然后再一个一个运算后一个素数减去前一个素数是不是=2,这样做效率太慢,不能通过检测3.正确思路是判断一个数字i和i+2是不是同时是素数,如果同时是素数就result+1#include <stdio.h>#include <stdbool.h>#include <math.h>bool isPrime (int n...原创 2021-09-17 21:33:35 · 130 阅读 · 0 评论 -
【PTA乙级C语言】1005继续3n+1猜想
思路:思路来自1.这道题大体的意思是把你所给的数列全部都进行卡拉兹猜想,如果所给数列中有进行验证时所有出现的数字,即数字被覆盖,如果没有,便是关键数,如图中例子3:5 8 4215:8 4216:3 5 8 4217:11 17 26 13 20 10 5 8 4 2 18:42111:17 26 13 20 10 5 8 4 2 16个数字验证猜想时所用的数字都没有6和7 所以输出7 6(从大到小)2.先定义一个101大小的数组,所有index...原创 2021-08-29 13:20:57 · 360 阅读 · 1 评论 -
【PTA乙级C语言】1004成绩排名
思路:(1)题目中没有说到n有多大,所以我们选择malloc申请自定义大小的数组(2)因为只取最大的和最小的,所以只需要将默认的最大和最小的设为第一个,然后将后面的依次和最大、最小的比较,如果满足取代便可代码:#include <stdio.h>#include <stdlib.h>int main(){ int num,max,min,* grade; char** Name,** SubjectStunum; max=0;m...原创 2021-08-24 18:15:30 · 148 阅读 · 0 评论 -
【PTA乙级C语言】1003我要通过
解析:PAT都必须有,P和T有且只有一个,P和T之间必须有A这个有一个规律,即a * b=c。可以参看输入样例中的PAAT (0x2=0)和 AAPATAA (2x1=2)和 AAPAATAAAA(2x2=4)。APAAATAA不满足,输出NO思路:(1)因为是n(n<10)个字符串 每个字符串长度不超过100,所以是个n行100列的数组,是个很大的数组,最开始我直接用静态二维数组a[10][100]调试时会爆栈,所以我选择用二维数组动态分配(记得在最后要free)。...原创 2021-08-20 22:30:37 · 181 阅读 · 0 评论 -
【PTA乙级C语言】1002 写出这个数
思路:1、首先看到这个输入格式就知道肯定不是在int或者long的范围里面,题目给的n小于10的一百次方,所以用数组来储存这个超大的数字2、判断数组的初始化结尾(1)选用字符串的结尾“\0”来判断(2)用字符串函数strlen来决定循环次数的大小(3)采用ASCII的编码来取和 代码中的“-48”可替换成-'0'#include <stdio.h>#include <math.h>int GetDigit (int b);int main(...原创 2021-08-16 20:06:56 · 143 阅读 · 0 评论 -
【PTA乙级C语言】1001 害死人不偿命的(3n+1)猜想
#include <stdio.h>int OddNum(int *a);int EvenNum(int *b);int main(){ int num; int count; count=0; printf("请输入一个正整数:\n"); scanf("%d",&num); int OddNum(int *a) { *a=(3*(*a)+1)/2; }; int E...原创 2021-08-16 18:26:06 · 54 阅读 · 0 评论