- 博客(7)
- 收藏
- 关注
原创 【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
203
原创 【PTA乙级C语言】1005继续3n+1猜想
思路:思路来自 1.这道题大体的意思是把你所给的数列全部都进行卡拉兹猜想,如果所给数列中有进行验证时所有出现的数字,即数字被覆盖,如果没有,便是关键数,如图中例子 3:5 8 421 5:8 421 6:3 5 8 421 7:11 17 26 13 20 10 5 8 4 2 1 8:421 11:17 26 13 20 10 5 8 4 2 1 6个数字验证猜想时所用的数字都没有6和7 所以输出7 6(从大到小) 2.先定义一个101大小的数组,所有index...
2021-08-29 13:20:57
503
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
211
原创 【C语言】数组动态内存分配释放及参数传递
数组的动态分配 概念: 所谓32位处理器就是一次只能处理32位,也就是4个字节的数据,而64位处理器一次就能处理64位,即8个字节的数据。如果我们将总长128位的指令分别按照16位、32位、64位为单位进行编辑的话:旧的16位处理器,比如Intel 80286 CPU需要8个指令,32位的处理器需要4个指令,而64位处理器则只要两个指令,显然,在工作频率相同的情况下,64位处理器的处理速度会比16位、32位的更快。而且除了运算能力之外,与32位处理器相比,64位处理器的优势还体现在系统对内存的控制上。
2021-08-21 15:18:08
613
原创 【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
249
原创 【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
256
原创 【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
89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人