当前位置:   article > 正文

C++等级3题

C++等级3题

鸡兔同笼

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. void f(int n);
  4. int n;
  5. int main()
  6. {
  7. cin>>n;
  8. int x=0;
  9. int ma=-1;
  10. int mi=1000000;
  11. for(int i=0;i<n;i++){
  12. for(int j=0;j<n;j++){
  13. if(i*2+j*4==n){
  14. x=1;
  15. ma=max(ma,i+j);
  16. mi=min(mi,i+j);
  17. }
  18. }
  19. }
  20. if(x==1){
  21. cout<<mi<<" "<<ma;
  22. }
  23. else{
  24. cout<<"0 0";
  25. }
  26. return 0;
  27. }
  28. void f(int n){
  29. }

猴子吃桃

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,sum=0;
  4. void f(int);
  5. int main()
  6. {
  7. int a[1000];
  8. a[1]=1;
  9. for(int i=0;i<10;i--){
  10. a[i]=(a[i-1]+1)*2;
  11. }
  12. return 0;
  13. }
  14. void f(int n){
  15. }

扩号匹配问题

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,sum=0;
  4. void f(int,int);
  5. char s[100];
  6. char r[100];
  7. int main()
  8. {
  9. cin>>s;
  10. int l=strlen(s);
  11. for(int i=0;i<l;i++){
  12. if(s[i]=='(') cout<<" ";
  13. else if(s[i]==')'){
  14. r[i]=' ';
  15. f(i-1,i);
  16. }
  17. else r[i]=' ';
  18. }
  19. cout<<r;
  20. return 0;
  21. }
  22. void f(int i,int n){
  23. if(r[i]=='$'){
  24. r[i]=' ';
  25. return;
  26. }
  27. if(i==-1){
  28. r[n]='?';
  29. return;
  30. }
  31. f(i-1,n);
  32. }

上台阶

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,m,sum=0;
  4. int i;
  5. int f(int);
  6. int main()
  7. {
  8. int a[1000];
  9. for(i=0;a[i]!=0;i++){
  10. cin>>a[i];
  11. }
  12. for(i=0;a[i]!=0;i++){
  13. cout<<f(a[1000]);
  14. }
  15. return 0;
  16. }
  17. int f(int a[1000]){
  18. if(a[i]==1) return 1;
  19. if(a[i]==2) return 1;
  20. return f(n-1)+f(n-2);
  21. }

田忌赛马不会

课程冲突

  1. #include<iostream>
  2. using namespace std;
  3. int n,sum=0;
  4. int a[1000];
  5. int f(int);
  6. int main()
  7. {
  8. cin>>n;
  9. int b[1000];
  10. for(int i=0;i<n;i++){
  11. cin>>a[i];
  12. cin>>b[i];
  13. }
  14. int ma=-1;
  15. for(int i=0;i<n;i++){
  16. for(int j=i+1;j<n;j++){
  17. int s=min(b[i],b[j])-max(a[i],a[j])+1;
  18. ma=max(ma,s);
  19. }
  20. }
  21. cout<<ma;
  22. return 0;
  23. }

42 点不会

最长下坡不会

放苹果

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,sum=0;
  4. int f(int,int);
  5. int main()
  6. {
  7. int m;
  8. cin>>n>>m;
  9. cout<<f(n,m);
  10. return 0;
  11. }
  12. int f(int n,int m){
  13. if(m==1||n==0) return 1;
  14. if(n==1||m==0) return 1;
  15. if(m>n) return f(n,n);
  16. if(m<=n) return f(n,m-1)+f(n-m,m);
  17. }

制作蛋糕不会

找和最接近但不超过K的两个元素

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. void f(int n);
  4. int n;
  5. int main()
  6. {
  7. int k;
  8. int a[1000]={0};
  9. int mi=1000;
  10. int h=0;
  11. cin>>n>>k;
  12. for(int i=0;i<n;i++){
  13. cin>>a[i];
  14. }
  15. for(int i=0;i<n;i++){
  16. for(int j=i+1;j<n;j++){
  17. if(a[i]+a[j]<=k){
  18. mi=min(mi,a[i]-a[j],a[j]-a[i]);
  19. if(mi/1!=0){
  20. h=a[i]+a[j];
  21. }
  22. else{
  23. mi=max(a[i]-a[j],mi,a[j]-a[i]);
  24. }
  25. }
  26. }
  27. }
  28. cout<<h;
  29. return 0;
  30. }
  31. void f(int n){
  32. }

数根

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. void f(int n);
  4. int n;
  5. int main()
  6. {
  7. cin>>n;
  8. int sum=0;
  9. while(true){
  10. if(n/10==0){
  11. cout<<n;
  12. return 0;
  13. }
  14. else{
  15. int t=n;
  16. while(t!=0){
  17. sum=sum+t%10;
  18. t=t/10;
  19. }
  20. n=sum;
  21. }
  22. }
  23. return 0;
  24. }
  25. void f(int n){
  26. }

和数不会

生理周期

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,m,sum=0;
  4. int a[100];
  5. void f(int);
  6. int main()
  7. {
  8. int ax,b,c,d;
  9. cin>>ax>>b>>c>>d;
  10. for(int i=d+1;i<=d+21252;i++){
  11. if(i%23==ax&&i%28==b&&i%33==c){
  12. cout<<i-d<<endl;
  13. }
  14. }
  15. return 0;
  16. }
  17. void f(int n){
  18. }

矩形数量文件结构“图”不会

分解因数

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,sum=0;
  4. void f(int,int);
  5. int main()
  6. {
  7. int m;
  8. cin>>n>>m;
  9. f(n,m);
  10. return 0;
  11. }
  12. void f(int n,int m){
  13. if(n==1){
  14. sum++;
  15. return;
  16. }
  17. for(int i=m;i<=n;i++){
  18. if(n%i==0){
  19. f(n/i,i);
  20. }
  21. }
  22. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/267935
推荐阅读
相关标签
  

闽ICP备14008679号