算法
青木落
努力学习的小菜鸟,希望三年后收获不一样的自己
展开
-
2-2习题 C/C++韩信点兵,有趣解法
#include<cstdio>using namespace std;int main(){ int x,y,z,m,c=0; while(scanf("%d %d %d",&x,&y,&z)) { c++; m=x*70+y*21+z*15; while(m>105) m=m-105; if(m...原创 2018-05-30 14:36:33 · 5652 阅读 · 0 评论 -
求最大子序列
1.暴力求解,时间复杂度为N^3int MaxSubArray(int * A , int n){ int maxSum = a[0]; int currSum; for(int i = 0 ; i < n ; i ++) { for(int j = i ; j<n ;j++) { currS...原创 2018-11-16 17:42:28 · 276 阅读 · 0 评论 -
acm-1003
Max SumTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 286615 Accepted Submission(s): 68051Problem Description Given a sequence a[1],a[2],a[3...原创 2018-06-20 15:40:08 · 251 阅读 · 0 评论 -
最大子序列和问题
计算最大子序列的问题有一种线性时间复杂度的算法,被称为联机算法。输入值25 6 -1 5 4 -77 0 6 -1 1 -6 7 -5输出值Case 1:14 1 4Case 2:7 1 6完整代码如下#include<cstring>#include<cstdio>#include<iostream>using namespace std;int st...原创 2018-06-20 15:33:38 · 127 阅读 · 0 评论 -
zoj-1002-Fire Net
Fire Net Time Limit: 2 Seconds Memory Limit: 65536 KB Suppose that we hav...原创 2018-06-10 23:50:35 · 408 阅读 · 1 评论 -
C/C++语言:辗转相除求两个数的最大公约数和最小公倍数
#include<stdio.h>int max_yueshu(int a,int b);int min_beishu(int a,int b,int c);int main(){ int a,b,i,j,k; scanf("%d %d",&a,&b); if(a>b) { i=a; a=b; b=i; } k=max_yueshu...原创 2018-05-30 14:35:59 · 1432 阅读 · 1 评论 -
编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息 (较安全的写法)
#include<stdio.h>#include<math.h>int sushu(int);int main(){ int a; scanf("%d",&a); if(sushu(a)) printf("Yes"); else printf("No"); return 0;}int sushu(int a){ if(a<=..原创 2018-05-30 14:38:53 · 49717 阅读 · 0 评论 -
习题2-6 排列
#include<cstdio>using namespace std;int main(){ int i; int s[10]; for(i=111;i<333;i++) { for(int m=0;m<10;m++) s[m]=0; s[i/100]=1; s[i/10%10]=1; s[i%...原创 2018-05-31 07:18:41 · 770 阅读 · 1 评论 -
3-2例题-开灯问题
#include<cstdio>#include<string.h>#define maxn 1010int a[maxn];using namespace std;int main(){ int n,k,first=1; scanf("%d %d",&n,&k); memset(a,0,sizeof(a)); for(int i...原创 2018-05-30 14:37:22 · 526 阅读 · 0 评论 -
3-3例题-蛇形填数c/c++语言
#include<cstdio>#include<string.h>#define maxn 20int a[maxn][maxn];using namespace std;int main(){ int x,y,tot=0,n; scanf("%d",&n); memset(a,0,sizeof(a)); tot=a[x=0][y=n-1]=1;//if ...原创 2018-05-30 14:38:24 · 816 阅读 · 0 评论 -
习题2-5-分数化小数
#include<cstdio>using namespace std;int main(){ int a,b,c,f=1,i,n=0; while(scanf("%d %d %d",&a,&b,&c)) { n++; if(a==0&&b==0&&c==0)return 0; doubl...原创 2018-05-31 07:18:25 · 331 阅读 · 0 评论 -
习题2-4-子序列的和
#include<cstdio>using namespace std;int main(){ long long int n,m,c=0; double s; while(scanf("%lld %lld",&n,&m)) { if(n==0||m==0)return 0; s=0; c++; for(long long i=...原创 2018-05-30 14:37:50 · 399 阅读 · 0 评论 -
2-3习题-C/c++语言画倒三角形
#include<cstdio>using namespace std;int main(){ int n; scanf("%d",&n); for(int i=0;i<=n;i++) { for(int j=0;j<=i;j++) printf(" "); for(int j=0;j<2*(n-i)-1;j+...原创 2018-05-30 14:36:53 · 1209 阅读 · 0 评论 -
经典算法100道带答案(C语言)
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。2.程序源代码:#include<stdio.h>int main() { int i,j,k; printf("\n"); for(i=1;i&l...原创 2019-03-08 23:40:32 · 9939 阅读 · 1 评论