![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
信奥一本通(递归算法)
文章平均质量分 52
信奥一本通(递归算法)
橙子教师
这个作者很懒,什么都没留下…
展开
-
信息学奥赛一本通(1211:判断元素是否存在)
1211:判断元素是否存在时间限制: 1000 ms 内存限制: 65536 KB提交数: 12597 通过数: 4804【题目描述】有一个集合M是这样生成的:(1) 已知k是集合M的元素; (2) 如果y是M的元素,那么,2y+1和3y+1都是M的元素;(3) 除了上述二种情况外,没有别的数能够成为M的一个元素。问题:任意给定k和x,请判断x是否是M的元素。这里的k是无符号整数,x 不大于 100000,如果是,则输出YES,否则,输出NO。【输入】...原创 2021-06-16 00:10:50 · 1312 阅读 · 0 评论 -
信息学奥赛一本通(1210:因子分解)
1#include<stdio.h>void fact(int n,int a) //n待分解的数,a因子 { int b=0; if(n==0 || a>n) return; while(n%a==0) { b++; n/=a; } if(b>=1) { if(b==1) printf("%d",a); else printf("%d^%d",a,b); if(n>a) printf("*");..原创 2021-06-16 00:09:53 · 1762 阅读 · 0 评论 -
信息学奥赛一本通(1209:分数求和)
1209:分数求和时间限制: 1000 ms 内存限制: 65536 KB提交数: 7869 通过数: 4262【题目描述】输入nn个分数并对他们求和,并用最简形式表示。所谓最简形式是指:分子分母的最大公约数为11;若最终结果的分母为11,则直接用整数表示。如:56、10356、103均是最简形式,而3636需要化简为12,3112,31需要化简为33。分子和分母均不为00,也不为负数。【输入】第一行是一个整数nn,表示分数个数,1≤n≤101≤...原创 2021-06-15 16:56:37 · 1200 阅读 · 0 评论 -
信息学奥赛一本通(1208:2的幂次方表示)
1208:2的幂次方表示时间限制: 1000 ms 内存限制: 65536 KB提交数: 5891 通过数: 4389【题目描述】任何一个正整数都可以用2的幂次方表示。例如:137=27+23+20同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为:2(7)+2(3)+2(0)进一步:7=22+2+20(21用2表示)3=2+20所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0...原创 2021-06-15 16:48:15 · 925 阅读 · 0 评论 -
信息学奥赛一本通(1207:求最大公约数问题)
1207:求最大公约数问题时间限制: 1000 ms 内存限制: 65536 KB提交数: 14502 通过数: 9232【题目描述】给定两个正整数,求它们的最大公约数。【输入】输入一行,包含两个正整数(<1,000,000,000)。【输出】输出一个正整数,即这两个正整数的最大公约数。【输入样例】6 9【输出样例】3【输出样例】【输出样例】1...原创 2021-06-15 16:41:59 · 789 阅读 · 0 评论 -
信息学奥赛一本通(1206:放苹果)
1#include <stdio.h>int f(int m, int n){ if(n==1 || m==0) return 1; else if(n>m) return f(m,m); else return f(m,n-1)+f(m-n,n);}int main(){ int m,n,t; scanf("%d",&t); while(t--) { scanf("%d%d",&m,&n); ...原创 2021-06-15 16:32:10 · 736 阅读 · 0 评论 -
信息学奥赛一本通(1205:汉诺塔问题)
#include <stdio.h>void move(char x,int y,char z){ printf("%c->%d->%c\n",x,y,z);}void hanoi(int n,char a,char c,char b) //a所在盘,c目标盘,b中转盘{ if(n==1) move(a,n,c); else { hanoi(n-1,a,b,c); move(a,n...原创 2021-06-15 16:26:53 · 1195 阅读 · 0 评论 -
信息学奥赛一本通(1204:爬楼梯)
1204:爬楼梯时间限制: 1000 ms 内存限制: 65536 KB提交数: 15480 通过数: 8078【题目描述】树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。【输入】输入包含若干行,每行包含一个正整数N,代表楼梯级数,1≤N≤30。【输出】不同的走法数,每一行输入对应一行输出。...原创 2021-06-15 14:21:11 · 1018 阅读 · 0 评论 -
信息学奥赛一本通(1203:扩号匹配问题)
/* 在每一个递归层次都扫描剩余的字符串,遇到左括号进入下一层递归; 遇到右括号则标记空格,并返回右括号下一个位置的下标; 否则标记该左括号为匹配失败。*/#include<stdio.h>#include<string.h> char s[110];int len; int f(int pos){ int i; i=pos+1; while(1) { // 遍历数组 whi...原创 2021-06-15 14:17:02 · 1157 阅读 · 0 评论 -
信息学奥赛一本通(1202:Pell数列)
1202:Pell数列时间限制: 1000 ms 内存限制: 65536 KB提交数: 24392 通过数: 7318【题目描述】Pell数列a1,a2,a3,...a1,a2,a3,...的定义是这样的,a1=1,a2=2,...,an=2an−1+an−2(n>2)a1=1,a2=2,...,an=2an−1+an−2(n>2)。给出一个正整数kk,要求Pell数列的第kk项模上3276732767是多少。【输入】第1行是测...原创 2021-06-15 01:01:39 · 2028 阅读 · 1 评论 -
信息学奥赛一本通(1201:菲波那契数列)
1201:菲波那契数列时间限制: 1000 ms 内存限制: 65536 KB提交数: 17460 通过数: 9993【题目描述】菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数是多少。【输入】第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1<=a<=20)。【输出】输出有n行,每行输出对应一个输入。输...原创 2021-06-15 00:42:22 · 1881 阅读 · 1 评论 -
信息学奥赛一本通(1200:分解因数)
1200:分解因数时间限制: 1000 ms 内存限制: 65536 KB提交数: 10230 通过数: 5869【题目描述】给出一个正整数aa,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×an,并且1<a1≤a2≤a3≤...≤an1<a1≤a2≤a3≤...≤an,问这样的分解的种数有多少。注意到a=aa=a也是一种分解。【输入】第1行是测试数据的组数nn,后面跟着nn行输入。每组测试数据占11行,包括一个正整数a(1&...原创 2021-06-15 00:04:43 · 1182 阅读 · 1 评论 -
信息学奥赛一本通(1199:全排列)
11#include <stdio.h>#include <string.h>#define N 10 int vis[N];char arr[N];char st[N];int len; void dfs(int u){ int i; if(u>len-1) { puts(st); return; } else { for(i=0;i<..原创 2021-06-14 23:36:59 · 2123 阅读 · 0 评论 -
信息学奥赛一本通(1198:逆波兰表达式)
1198:逆波兰表达式时间限制: 1000 ms 内存限制: 65536 KB提交数: 9734 通过数: 5698【题目描述】逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。【输入】输入为一行,其中运算符和运算...原创 2021-06-14 22:26:35 · 879 阅读 · 3 评论 -
信息学奥赛一本通(1316:【例4.6】数的计数(Noip2001))
1316:【例4.6】数的计数(Noip2001)时间限制: 1000 ms 内存限制: 65536 KB提交数: 16192 通过数: 6870【题目描述】我们要求找出具有下列性质数的个数(包括输入的自然数nn)。先输入一个自然数n(n≤1000)n(n≤1000),然后对此自然数按照如下方法进行处理:不作任何处理;在它的左边加上一个自然数,但该自然数不能超过原数的一半;加上数后,继续按此规则进行处理,直到不能再加自然数为止。【输入】自然数...原创 2021-06-14 21:37:13 · 5027 阅读 · 0 评论 -
信息学奥赛一本通(1315:【例4.5】集合的划分)
1315:【例4.5】集合的划分时间限制: 1000 ms 内存限制: 65536 KB提交数: 11952 通过数: 5318【题目描述】设S是一个具有n个元素的集合,S=〈a1,a2,……,an〉S=〈a1,a2,……,an〉,现将S划分成k个满足下列条件的子集合S1,S2,……,SkS1,S2,……,Sk,且满足:1.Si≠∅Si≠∅2.Si∩Sj=∅Si∩Sj=∅ (1≤i,j≤k,i≠j1≤i,j≤k,i≠j)3.S1∪...原创 2021-06-14 17:00:35 · 1512 阅读 · 0 评论