- 博客(8)
- 收藏
- 关注
原创 【小记录】判断日期
判断日期合法性 int months[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; bool check(int y, int m, int d) //判断是否是合法日期 { if (d <= 0 || m <= 0 || m >= 13) return false; if (m - 2) //判断是否为2月 { if (d > months[m]) return false;
2022-03-17 09:47:44
287
1
原创 关于素数判断
写作业的时候碰到素数判断相关的问题,特此记录一下方法防止忘记 先看题目 思路是,找出所有N以内的素数,再进行求和的判断 此时一个快速有用的找素数算法就很有必要了 算法:素数筛选法 先说原理:原理很简单,当i是质(素)数的时候,i的所有的倍数必然是合数;如果i已经被判断不是质数了,那么再找到i后面的质数来把这个质数的倍数筛掉 具体操作是: 设定一个bool类型数组prime[N],规定所有奇数项为true,偶数项为false 进行筛选,从2开始每找到一个质数,就建立一个循环把其后所有倍数都筛选掉(标为f
2022-03-16 10:51:51
319
1
原创 C++的高精乘+高精加
题目 想法 这题的原型就是在简单的求阶乘和基础上加入一个高精度操作 那么把求阶乘的两步操作用升级版的高精度函数代替即可 ???? 所说的两步操作即为: // FOR循环内 第一步单独求每一项阶乘 第二步把各项相加 代码实现如下: for(int i = 0; i < N; ++i) { num *= i; sum += num; } 题解【BY SocietyNiu】 #include<iostream> using name...
2021-11-16 19:43:24
805
1
原创 字符串与数字转化
题目 想法 思路其实很简单,输入号码到数组里再转化一个进行操作比对即可 ???? 但是其实还可以优化,即巧用字符常量,这样避免了过多的的字符串转化操作 让人联想到紫书里敲键盘的那题 洛谷题解【BY Alg_xize】 #include<iostream> using namespace std; int main(){ char a[14],mod[12]="0123456789X"; scanf("%s",a); /* for(int i=0;i<
2021-11-16 15:26:16
819
原创 判断回文的方法 懒得写注释了
#include<iostream> #include<string> using namespace std; #define N 10000 int main() { char arr[N]; cin >> arr; char* str = arr; char* a = str; int i = 0, k = 0; while (*a != '\0') { ++a; ++i; } --a; while (*str != '\0') {.
2021-11-12 09:59:47
52
原创 AK杯被虐赛
不多说 给虐就完事了 寄! #include<stdio.h> #include<math.h> #include<stdlib.h> #define MAXX 1010 int a[MAXX]; int b[MAXX]; void save( int *a, int n) { for ( int i = 1; i <= n; ++i) { scanf_s("%d", &a[i]); } } long long mul( in.
2021-10-21 17:39:04
85
原创 10.12 关于素数
今天又被素数卡住了 突然发现CPP(C Primer Plus不是C++)上面的例子也并非能解决目前遇到的题目,所以不要盲目套用啊孩子,重要的是学习他的思路 最后发现原来是数学知识问题...... 我们来看看同一道题两种做法会产生怎样不同的合奏 题目 刚到手的疑问 Q: 怎么区分素数和合数 A: 用标记和IF语句,若程序运行到IF里面,说明是合数,则改变标记的值 Q: 循环到哪一步为止 A:到除数为N的根号为止 Q: 若出现多次幂的情况怎么舍去一个输...
2021-10-13 00:10:41
75
原创 2021-10-10 卡了我很久的二分法
本来开开心心抄答案 结果抄了个错的 整个晚修都耗在里边了/(ㄒoㄒ)/~~ 不过他的解答模板我觉得还是可以学习的: 题目 解题思路 答题过程 结果 亮点 感想 下面我们来实践一下 题目 解题思路 用二分法求根,即利用零点存在定理,取(a,b)中间一半的区间(a, mid)检验: 是否有两端点函数值相乘小于零,也即f(a) * f(b) < 0 若f(a) * f(b) < 0,则继续取(a, mid)的中间一半区间计算 若f(a) * f...
2021-10-10 21:51:09
197
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人