杭电ACM OJ 1005 Number Sequence

A number sequence is defined as follows:

f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.

Given A, B, and n, you are to calculate the value of f(n).

超过49个数之后一定会出现和之前的数组合相同的情况,这个我可以了解,但是 为什么最多经过49个数之后一定会出现周期呢?智商太低了,跪求解释

2个回答

这个数组是递推关系得到的,如果连续的2个数与前面某个位置的连续的2个数相同,由递推关系式一定会推出相同的结果,所以就形成循环了。

qq_26793545
Mir.Yang #include<iostream> using namespace std; int re[10000]; int main() { int a,b,n; re[1]=1;re[2]=1; while(cin>>a>>b>>n&&(a||b||n)){ int i; for(i=3;i<10000;i++){ re[i]=(a*re[i-1]+b*re[i-2])%7; if(re[i]==1&&re[i-1]==1) break; } n=n%(i-2); re[0]=re[i-2]; cout<<re[n]<<endl; } return 0; }
6 个月之前 回复
qq_26793545
Mir.Yang 其实可以不需要知道周期的:附上源码:
6 个月之前 回复
u013623867
LinSeanYu 不理解前,看了你的话也还是会不理解,但是我昨晚想明白了,今天看了你的回复,就觉得很有道理,哈哈
4 年多之前 回复

这个题目如果使用数组或者递归都会爆栈,注意到题目中的数都是对7取余,所以相邻的两个数的组合最多有49中,所以最多49次循环就会从头开始循环,这是就可以不用继续执行了,然后将n对i取余,根据余数就可以得到结果。
C++代码:
#include
const int N=55;
int dp[N];
int getRes(int A,int B,int n){
if(n==1||n==2)
r......
答案就在这里:杭电OJ 1005:Number Sequence
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
杭电oj2022的解答,感谢?
http://acm.hdu.edu.cn/showproblem.php?pid=2022 杭电求解2022,带解析的那种,【害羞】
求助,杭电ACM题求平均成绩
题目如下: **求平均成绩** 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量 。 **Input** 输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个整数(即:考试分数)。 **Output** 对于每个测试实例,输出3行数据,第一行包含n个数据,表示n个学生的平均成绩,结果保留两位小数;第二行包含m个数据,表示m门课的平均成绩,结果保留两位小数;第三行是一个整数,表示该班级中各科成绩均大于等于平均成绩的学生数量。 每个测试实例后面跟一个空行。 **Sample Input** 2 2 5 10 10 20 **Sample Output** 7.50 15.00 7.50 15.00 1 _____ 请各位大佬帮我看一下哪里有问题,自己运行结果是正确的,但放到oj上就WA。 ```c #include<stdio.h> #include<string.h> int main(){ int n,m,i,j,ans=0; double sum=0,a[51][6],x[6]; int s[51]; memset(s,1,51); while(scanf("%d%d",&n,&m)!=EOF){ for(i=1;i<=n;i++){ for(int j=1;j<=m;j++){ scanf("%lf",&a[i][j]); } } for(i=1;i<n;i++){ for(j=1;j<=m;j++){ sum+=a[i][j]; } printf("%.2lf ",sum/m); sum=0; } for(j=1;j<=m;j++){ sum+=a[n][j]; } printf("%.2lf\n",sum/m); sum=0; for(i=1;i<m;i++){ for(j=1;j<=n;j++){ sum+=a[j][i]; } x[i]=sum/n; printf("%.2lf ",x[i]); sum=0; } for(j=1;j<=n;j++){ sum+=a[j][m]; } x[m]=sum/n; printf("%.2lf\n",sum/n); sum=0; for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ if(x[j]>a[i][j]){ s[i]=0; } } } for(i=1;i<=n;i++){ if(s[i]){ ans++; } } printf("%d\n\n",ans); } return 0; } ```
新手求大神指点杭电oJ Java代码
求Java代码,杭电oJ2059 http://acm.hdu.edu.cn/showproblem.php?pid=2059
杭电acm1002为什么老出错
#include<stdio.h> int main(void) { int T = 0, a = 0, count_a = 0, count_b = 0; long long A[1000] = { 0 }, B[1000] = { 0 }, SUM[1000] = { 0 }; scanf("%d", &T); while (T > 0) { a++; scanf("%lld %lld", &A[a], &B[a]); SUM[a] = A[a] + B[a]; T--; } for (T = 1; T <= a; T++) { printf("Case %d:\n%lld + %lld = %lld\n\n", T, A[T], B[T], SUM[T]); } } 为什么不能这么做??每次提交显示wrong answer!why?
杭电ACM2034代码,老出错。
我写的代码哪里有问题呀,改好几遍了。。。 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2034 #include<stdio.h> #include<vector> #include<iostream> #include<algorithm> using namespace std; int main() { int n,m; while(scanf("%d%d",&n,&m)) { if(n==0&&m==0) break; int a[n],b[m]; int count=0; vector<int> v; for(int i=0;i<n;i++) { scanf("%d",&a[i]); v.push_back(a[i]); } for(int i=0;i<m;i++) scanf("%d",&b[i]); for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(a[i]==b[j]) { v.erase(v.begin()+(i-1)); count++; } } } if(count==n) { printf("NULL\n"); } else { sort(v.begin(),v.end()); for(int i=0;i<v.size()-1;i++) printf("%d ",v[i]); printf("%d\n",v[v.size()]); } } return 0; }
杭电acm1036,为什么wa
附上我的代码以及AC代码 ``` #include<iostream> #include<string> #include<iomanip> using namespace std; int main() { int n,t,m,ss,flag; double d,sum,temp; string T; cin>>n>>d; if(n<1||n>20)return 0; if(d<0.0||d>200.0)return 0; while(cin>>t) { sum=0,flag=0; for(int i=0;i<n;i++) { cin>>T; if(T=="-:--:--") { cout<<setw(3)<<t<<": -"<<endl; flag=1; break; } sum+=((T[0]-'0')*3600+((T[2]-'0')*10+(T[3]-'0'))*60+(T[5]-'0')*10+(T[6]-'0')); } if(!flag) { sum/=d; temp=(int)(sum+0.5); m=temp/60; ss=temp-m*60; if(ss>10) cout<<setw(3)<<t<<": "<<m<<":"<<ss<<" min/km"<<endl; else cout<<setw(3)<<t<<": "<<m<<":"<<'0'<<ss<<" min/km"<<endl; } } } ``` AC代码 ``` #include <stdio.h> #include <math.h> #include <string.h> int main() { char s[10]; int n,H,MM,SS,T; double dist,tot,ave; scanf("%d%lf",&n,&dist); while(~scanf("%d",&T)) { tot = 0.0; bool flag = true; for(int i = 0;i < n;i++) { scanf("%s",s); if(!strcmp(s,"-:--:--")){ flag = false; }else { sscanf(s,"%d:%d:%d",&H,&MM,&SS); tot += H*3600.0 + MM*60.0 + SS*1.0; } } if(flag == false){ printf("%3d: -\n",T); }else { ave = tot / dist; int ans = floor(ave+0.5); printf("%3d: %d:%02d min/km\n",T,ans/60,ans%60); } } return 0; } ```
杭电ACM1096,一直有错误,求帮忙
![图片说明](https://img-ask.csdn.net/upload/201510/15/1444870735_573916.png) 我的代码 #include <stdio.h> int main(){ int n, i; int a, b; int x, sum; while(scanf("%d", &n) != EOF){ for (i = 0; i < n; i++){ scanf("%d", &a); for (b = 0; b < a; b++){ sum = 0; scanf("%d", &x); sum = sum + x; printf("%d", sum); printf("\n"); } } } return 0; }
杭电ACM的N!问题编译不通过1046
import java.math.BigInteger; import java.util.Scanner; public class A1042 { private static Scanner sc; public static void main(String []args){ sc = new Scanner(System.in); BigInteger n = sc.nextBigInteger(); while(n.intValue()<=10000){ if(!n.equals(BigInteger.valueOf(1))){ n = n.multiply(n.subtract(BigInteger.valueOf(1))); } System.out.println(n); n = sc.nextBigInteger(); } } } 为什么自己运行结果是正确的却编译不通过,提示Compilation Error
杭电ACM 1042 N的阶乘 大数 问题在我注释的地方
#include<stdio.h> #include<string> int c[10086]; int main() { int i,j,l,n,k,h; while(scanf("%d",&n)!=EOF) { memset(c,0,sizeof(c)); c[0]=1; k=0; if(n==0) printf("1\n"); else { for(j=1;j<=n;j++) { for(i=0;i<=k;i++) { c[i]=c[i]*j; } for(h=0;h<=k;h++) { if(c[h]>9999) { c[h+1]=c[h+1]+c[h]/10000; c[h]=c[h]%10000; if(c[k+1]>0) //*为什么这个if判断不能少 按道理不是一定会有c[k+1]>0吗,没有这一句我的结果前面多了两个0*// k++; } } } for(l=k;l>=0;l--) { if(l==k) printf("%d",c[l]); else { if(c[l]<10&&c[l]>=0) printf("000%d",c[l]); else if(c[l]<100&&c[l]>=10) printf("00%d",c[l]); else if(c[l]<1000&&c[l]>=100) printf("0%d",c[l]); else if(c[l]>=1000) printf("%d",c[l]); } } printf("\n"); } } return 0; }
杭电acm1003 提示Time Limit Exceeded
#include<stdio.h> #include<string.h> main() { static char arr[20][100000]; int i,j,a,n=0,t,result=0,sum=0; scanf("%d",&t);//准备输入几行t=2 if(t>=1&&t<=20){ while(n<t){ if(scanf("%d",&i) && i>=1 && i<=100000){ // 第t输入出i个数, j =0; arr[n][j++] = i;//第一个位置记录的是 每个一维数组的长度,以免第一个元素出现0, 用strlen 会失效 while(j<=i && scanf("%d",&a)!=EOF){ if(a>=-1000 && a<=1000) arr[n][j++] = a; } } n++; } } for(i=0;i<t;i++){// t 是 输入几行 int len = arr[i][0]; int start,end,k;// 从新的位置开始统计和最大的组合序列 for(j=1;j<=len;j++){// 循环次数 for(k=j;k<len;k++){ result += arr[i][k]; if(result>sum){ sum = result; start = j; end = k; } } result = 0; } printf("Case %d:\n",i+1); printf("%d %d %d",sum,start,end); if(i+1<t){ printf("\n\n"); }else printf("\n"); sum =0; } }
关于杭电ACM2031 进制转换感觉找不出自己的错误,求指出
#include<stdio.h> int main() { long n,r; char a[10000]; while(scanf("%d%d",&n,&r) == 2) { if(n == 0) printf("0\n"); else { int i = 0; if(n<0){n=-n;printf("-");} while(n > 0) { a[i++] = n%r; n=n/r; } int j = i-1; for(; j >= 0; j--) { if(a[j] > 10) printf("%c",a[j]-10+'A'); else printf("%d",a[j]); } putchar('\n'); } } return 0; }
求问杭电ACM2010水仙花数,我的这个答案为什么是错的
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int m=0; int n=0; while(in.hasNext()){ m=in.nextInt(); n=in.nextInt(); if(m<n){ narcissus(m,n); } } } public static void narcissus(int m, int n){ int k=0; boolean mark = false; for(int i=m; i<=n; i++){ int sum=0; k=i; while(k!=0){ sum=sum+(k%10)*(k%10)*(k%10); k=k/10; } if(i==sum) { mark = true; System.out.print(i+" "); } } if(mark==false){ System.out.println("NO"); } System.out.println(); } }
杭电acm1039我的代码为什么AC不了?
``` #include<iostream> #include<string> using namespace std; int main() { string in; char temp; int flag, flagv; int vowel = 0; int consonant = 0; while (cin >> in) { if (in == "end") break; flag = 1; flagv = 0; temp = '~'; for (int i = 0; i < in.size(); i++) { if (in[i] == 'a'||in[i]=='e'||in[i]=='i'||in[i]=='o'||in[i]=='u') { consonant = 0; flagv = 1; vowel++; if (vowel == 3) { flag = 0; break; } } else { vowel = 0; consonant++; if (consonant == 3) { flag = 0; break; } } if (temp == in[i] &&in[i]!='e'&&in[i]!='o') { flag = 0; break; } else temp = in[i]; } cout << "<" << in << "> " << "is "; flag == 1&&flagv==1 ? cout << "acceptable" : cout << "not acceptable"; cout << endl; } return 0; } ```
杭电acm 1002,有点崩溃,老是出错,感觉格式什么的都对呀
#include <stdio.h> #include <string.h> int main(){ char ax[20][1000], bx[20][1000], temp[1000], a[1000], b[1000]; int n, lena, lenb; while(scanf("%d",&n)!= EOF){ for(int i = 0;i < n;i++){ scanf("%s %s",ax[i],bx[i]); } for(int i = 0;i < n;i++){ int num[1001] = {0}; strcpy(a,ax[i]); strcpy(b,bx[i]); lena = strlen(a); lenb = strlen(b); if(lena < lenb){ strcpy(temp,a); strcpy(a,b); strcpy(b,temp); lena = strlen(a); lenb = strlen(b); } int carry = 0; int len = lena; int add = 0; for(int j = 0;j < len;j++){ if(lenb > 0){ add = a[lena-1] - '0' + b[lenb-1] - '0' + carry; num[lena] = add % 10; carry = add / 10; lena--; lenb--; } else{ add = a[lena-1] - '0' + carry; num[lena] = add % 10; carry = add / 10; lena--; lenb--; } } num[0] = carry; printf("case %d:\n",i+1); printf("%s + %s = ",a,b); if(num[0] == 0){ for(int j = 1;j <= len;j++){ printf("%d",num[j]); } printf("\n"); } else{ for(int j = 0;j <= len;j++){ printf("%d",num[j]); } printf("\n"); } printf("\n"); } } return 0; } 经典的大数相加,题目如下: Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. Input The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should not process them by using 32-bit integer. You may assume the length of each integer will not exceed 1000. Output For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line is the an equation "A + B = Sum", Sum means the result of A + B. Note there are some spaces int the equation. Output a blank line between two test cases. Sample Input 2 1 2 112233445566778899 998877665544332211 Sample Output Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110 程序跑图贴在下面,大牛们帮看看吧
杭电 acm 2039 ( 三角形 )判断这样用问什么会通不过呢?哪位大神讲讲正确的用法
三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 28002 Accepted Submission(s): 9138 Problem Description 给定三条边,请你判断一下能不能组成一个三角形。 Input 输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C。其中A,B,C <1000; Output 对于每个测试实例,如果三条边长A,B,C能组成三角形的话,输出YES,否则NO。 Sample Input 2 1 2 3 2 2 2 Sample Output NO YES ``` #include<stdio.h> #define bast(a,b,c) (a+b>c) ? 1:0 int main(){ int m,x,y,z; scanf("%d",&m); while(m--) { scanf("%d%d%d",&x,&y,&z); if(bast(x,y,z)==1&&bast(x,z,y)==1&&bast(y,z,x)==1) printf("YES\n"); else printf("NO\n"); } return 0; } ``` 判断这样用问什么会通不过呢?哪位大神讲讲正确的用法
杭电acm1007,不考虑运行时间问题,我的代码错在哪?
#include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() { int N,i,j,k=0; double min; while (cin >> N&&N) { double *x = new double[N]; double *y = new double[N]; double *d = new double[N*(N-1)]; for (i = 0; i < N; i++) cin >> x[i] >> y[i]; for (i = 0; i < N-1; i++) { for (j = i + 1; j < N; j++) { if (x[i] == x[j] && y[i] == y[j]) d[k] = 0; else d[k] = (x[i] - x[j])*(x[i] - x[j]) + (y[i] - y[j])*(y[i] - y[j]); k++; } } min = d[0]; for (k = 0; k < N*(N - 1) / 2; k++) if (min > d[k]) min = d[k]; if(min!=0) min = sqrt(min)/2; cout << setprecision(2) << fixed << min << endl; delete []x, y, d; } return 0; } 连续输入两次数据: 2 1 1 1 1 为什么第一次是0.00,第二次是-nan(ind)
杭电ACM1002,老是不能AC,一直都是Wrong Answer
修改了几次,现在是在是没看出问题在哪,求指教,感激不尽。 ``` #include<iostream> #include<string> using namespace std; int main(){ int num_case=0; string data1_str="",data2_str=""; int data1_size=0,data2_size=0; int mark=0; int index=0; int j=0; int sum_rs[1001]={0},data1[1001]={0},data2[1001]={0}; cin>>num_case; for (int i = 0; i < num_case; i++) { memset(data1,0,sizeof(data1)); memset(data2,0,sizeof(data2)); index=0; mark=0; cin>>data1_str; cin>>data2_str; data1_size=data1_str.length(); data2_size=data2_str.length(); for(j=0;j<data1_size;j++){ char tmp=data1_str[data1_size-j-1]; data1[j]=atoi(&tmp); } for(j=0;j<data2_size;j++){ char tmp=data2_str[data2_size-j-1]; data2[j]=atoi(&tmp); } for (j = 0; j < 1001; j++) { sum_rs[j]=data1[j]+data2[j]+mark; if (sum_rs[j]>=10) { sum_rs[j]%=10; mark=1; }else { mark=0; } } for (j =0; j < 1001; j++) { if (sum_rs[j]!=0) { index=j; } } cout<<"Case "<<i+1<<":"<<endl; cout<<data1_str<<" + "<<data2_str<<" = "; for (int j =index; j >=0; j--) { cout<<sum_rs[j]; } cout<<endl; if(i!=num_case-1) cout<<endl; } return 0; } ```
ACM OJ 给定一个日期,输出这个日期是该年的第几天。
题目:给定一个日期,输出这个日期是该年的第几天。  杭电官网不通过,答复是:Output Limit Exceeded 找了很多遍都不知道有什么错误,希望各位能帮帮忙,谢谢 #include<stdio.h> int main() { int years,months,days,i; while(scanf("%d/%d/%d",&years,&months,&days)) { if(years%4==0 && years%100!=0 || years%400) { int sum=0,a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; for(i=0;i<months-1;i++) sum+=a[i]; sum=sum+days; printf("%d\n",sum); } else { int sum=0,a[12]={31,29,31,30,31,30,31,31,30,31,30,31}; for(i=0;i<months-1;i++) sum+=a[i]; sum=sum+days; printf("%d\n",sum); } } }
The Team of ACM/ICPC
Problem Description There are 3 people in a team of ACM/ICPC. Every member of the team will occasionally make some mistakes in the contest. So Mr.F tests every one and everybody gets a Mistake Value x. If the Mistake Values of the 3 members of a team are respectively a, b, c, then the Mistake Value of the team is m = min{ |a-b|, |b-c|, |c-a| }. Your job is to find the best plan to minimize M which is the sum of all the Mistake Value of teams. Input In the first line, there are two integers N and K. N is the number of people who will make teams and K is the number of teams which is supposed to make. (3<= N <=100000) (0<= k <= N/3 ) There are N lines followed. Each line has an integer D, which is the Mistake Value of the person.(0<=D<=1000000000) Output Print the minimal M in one line. Sample Input 7 2 1 5 3 2 4 7 9 Sample Output 2
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
JAVA 基础练习题
第一题 1.查看以下代码,并写出结果 public class Test01 { public static void main(String[] args) { int i1 = 5; boolean result = (i1++ &gt; 5) &amp;&amp; (++i1 &gt; 4); System.out.println(result); Sy...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
C++知识点 —— 整合(持续更新中)
本文记录自己在自学C++过程中不同于C的一些知识点,适合于有C语言基础的同学阅读。如果纰漏,欢迎回复指正 目录 第一部分 基础知识 一、HelloWorld与命名空间 二、引用和引用参数 2.1引用的定义 2.2 将引用用作函数参数 2.3 将引用用于类对象 2.4 引用和继承 2.5 何时使用引用参数 2.6 引用和指针的区别 三、内联函数 四、默认参数的...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
机械转行java自学经历,零基础学java,血泪总结的干货
机械转行java自学经历,零基础学java,血泪总结的干货 据说,再恩爱的夫妻,一生中都有100次想离婚的念头和50次想掐死对方的冲动。 求职路上亦是如此,打开这篇文章,相信你也有转行的想法。和身边的朋友聊过,入职后的他们,或多或少对现在的职位都有些不满,都有过转行的冲动。 可他们只是想,而我真的这样做了。 下面就介绍下我转行的血泪史。 我为什么要转行 高中复读了一年,考了个双非院校的机械。当时...
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
【Linux系统编程】Linux信号列表
00. 目录 文章目录00. 目录01. Linux信号编号02. 信号简介03. 特殊信号04. 附录 01. Linux信号编号 在 Linux 下,每个信号的名字都以字符 SIG 开头,每个信号和一个数字编码相对应,在头文件 signum.h 中,这些信号都被定义为正整数。信号名定义路径:/usr/include/i386-linux-gnu/bits/signum.h 要想查看这些信号和...
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
借助AI力量,谷歌解开生命奥秘?
全文共4484字,预计学习时长8分钟 Paweł Czerwiński发布在 Unsplash上的原图 假如疾病不复存在会发生什么?如果我们能像大自然一样迅速获取能量又会发生什么?要是我们能够在极短时间内循环塑料、废油、或其它的一些物质呢?如果人类能够解开生命的奥秘,那么以上这些想象将在未来成为现实。人工智能企业DeepMind的数据科学分析师日前在此领域有了重大发现。以下为具体内容:...
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问