• C++
  • 信奥基础班20241006作业

  • @ 2024-1-6 15:30:39

课堂重点:枚举法流程

  1. 将问题的所有可能的答案 一 一 列举出来 。
  2. 根据条件判断此答案是否合适 。
  3. 合适就保留,不合适就舍弃。

作业1: image image

作业2: image image

作业3: image 从大向小去遍历 找到的第一个公因数就是最大公因数

第一题:求1~n中间所有的质数

完成:雷高航、赵天赐、刘伊龙、戴泓奕、罗立轩、刘力臻

第二题:第n小的质数

完成:赵天赐、戴泓奕、刘伊龙、罗立轩、刘力臻

第三题:求第n个小幸运数

完成:雷高航、刘力臻、罗立轩

22 条评论

  • @ 2024-1-13 14:30:37
    #include<bits/stdc++.h>
    using namespace std;
    const int N = 1e6+10;
    
    int main(){
        int num1,num2;
        cin>>num1>>num2;
        for(int i=num1;i>=1;i--){
            if(num1%i==0&&num2%i==0){
                cout<<i;
                break;
            }
        }
        return 0;
    }
    
    • @ 2024-1-13 14:23:49
      #include<bits/stdc++.h>
      using namespace std;
      const int N = 1e6+10;
      
      int main(){
          for(int x=1;x<=100/5;x++){
              for(int y=1;y<=100/3;y++){
                  int z=100-x-y;
                  if(x+y+z==100){
                      if(5*x+3*y+z/3==100){
                          if(z%3==0){
                              printf("公鸡%d母鸡%d小鸡%d\n",x,y,z);
                          }
                      }
                  }
              }
          }
          return 0;
      }**
      
      • @ 2024-1-13 14:14:50
        ```c++
        #include<bits/stdc++.h>
        using namespace std;
        const int N = 1e6+10;
        
        int main(){
            int h1,m1,s1,h2,m2,s2,flag=0;
            char ch;
            cin>>h1>>ch>>m1>>ch>>s1;
            cin>>h2>>ch>>m2>>ch>>s2;
            for(int i=0;i<=23&&flag!=2;i++){
                for(int j=0;j<=59&&flag!=2;j++){
                    for(int k=0;k<=59&&flag!=2;k++){
                        if(i==h1&&j==m1&&k==s1){
                            flag = 1;
                        }
                        if(flag==1){
                            cout<<i<<":"<<j<<":"<<k<<endl;
                        }
                        if(i==h2&&j==m2&&k==s2){
                            break;
                            flag = 2;
                        }
                    }
                }
            }
            return 0;
        }
        ```
        ```
        
        • @ 2024-1-13 14:13:48

          第一题答案

          #include<bits/stdc++.h>
          using namespace std;
          const int N = 1e6+10;
          
          int main(){
              int h1,m1,s1,h2,m2,s2,flag=0;
              char ch;
              cin>>h1>>ch>>m1>>ch>>s1;
              cin>>h2>>ch>>m2>>ch>>s2;
              for(int i=0;i<=23&&flag!=2;i++){
                  for(int j=0;j<=59&&flag!=2;j++){
                      for(int k=0;k<=59&&flag!=2;k++){
                          if(i==h1&&j==m1&&k==s1){
                              flag = 1;
                          }
                          if(flag==1){
                              cout<<i<<":"<<j<<":"<<k<<endl;
                          }
                          if(i==h2&&j==m2&&k==s2){
                              break;
                              flag = 2;
                          }
                      }
                  }
              }
              return 0;
          }
          
          • @ 2024-1-13 10:43:03

            第二题

            #include<bits/stdc++.h>
            using namespace std;
            int main(){
            int num1,num2,n=1;
            cin>>num1>>num2;
            for(int i=10000;i>=n;i--){
            if(num1%i==0&&num2%i==0){
            cout<<i;
            break;	
            }
            }
            return 0;
            }
            
            • @ 2024-1-13 10:41:06

              第三题

              h> using namespace std; int main(){ for(int a1=1;a1<=19;a1++){ for(int a2=1;a2<=32;a2++){ int n=100-a1-a2; for(int a3=1;a3<=n;a3++){ if(a1+a2+a3100){ if(5a1+3a2+a3/3100){ if(a3%3==0){ cout<<"公鸡"<<a1<<"母鸡"<<a2<<"小鸡"<<a3<<endl; } } } } } } return 0; }````

            • @ 2024-1-13 9:20:56
              using namespace std;
              int main(){
                  for(int i=1;i<=19;i++){
                  	for(int j=1;j<=32;j++){
                  		for(int k=1;k<=100-i-j;k++){
                  					if(i+j+k==100){
                  						if(i*5+j*3+k/3==100){
                  							if(k%3==0){
                  						cout<<"公鸡:"<<i<<"母鸡:"<<j<<"小鸡:"<<k<<endl;
                  						}
              						}
              					}
              				}
              			}
              		}
                  return 0;
              }
              
              • @ 2024-1-13 9:19:56
                using namespace std;
                int main(){
                    int num1,num2;
                    cin>>num1>>num2;
                    bool flag;
                    for(int i=10000;i>=i;i--){
                    	if(num1%i==0&&num2%i==0){
                    		cout<<i;
                			break;	
                		}
                	}
                    return 0;
                }
                
                • @ 2024-1-13 9:17:39
                  int main(){
                      int h,m,s;
                      int h2,m2,s2;
                      char ch;
                      cin>>h>>ch>>m>>ch>>s;
                      cin>>h2>>ch>>m2>>ch>>s2;
                      bool flag;
                      for(int i=0;i<24&&flag!=2;i++){
                          for(int j=0;j<=59&&flag!=2;j++){
                  			for(int k=0;k<=59&&flag!=2;k++){
                  				if(i==h&&j==m&&k==s){
                  					flag=1;
                  				}
                  				if(flag==1){
                  					printf("%02d:%02d:%02d\n",i,j,k);
                  				}
                  				if(i==h2&&j==m2&&k==s2){
                  					flag=2;
                  					break;
                  				}
                  			}
                  		}
                  	}
                      return 0;
                  }
                  
                  • @ 2024-1-12 23:06:01

                    第三题

                    using namespace std;
                    int main(){
                        int num1,num2;
                        cin>>num1>>num2;
                        bool flag;
                        for(int i=10000;i>=i;i--){
                        	if(num1%i==0&&num2%i==0){
                        		cout<<i;
                    			break;	
                    		}
                    	}
                        return 0;
                    }
                    
                    • @ 2024-1-12 22:58:34

                      第二题

                      using namespace std;
                      int main(){
                          for(int i=1;i<=19;i++){
                          	for(int j=1;j<=32;j++){
                          		for(int k=1;k<=100-i-j;k++){
                          					if(i+j+k==100){
                          						if(i*5+j*3+k/3==100){
                          							if(k%3==0){
                          						cout<<"公鸡:"<<i<<"母鸡:"<<j<<"小鸡:"<<k<<endl;
                          						}
                      						}
                      					}
                      				}
                      			}
                      		}
                          return 0;
                      }
                      
                      • @ 2024-1-12 22:09:10
                        using namespace std;
                        int main(){
                            int num1,num2,n=1;
                            cin>>num1>>num2;
                            for(int i=10000;i>=n;i--){
                            	if(num1%i==0&&num2%i==0){
                            	cout<<i;
                        		break;	
                        		}
                        	}
                            return 0;
                        }
                        
                        
                        • @ 2024-1-12 21:30:52
                          using namespace std;
                          int main(){
                              int h,m,s;
                              int h2,m2,s2;
                              char ch;
                              cin>>h>>ch>>m>>ch>>s;
                              cin>>h2>>ch>>m2>>ch>>s2;
                              bool flag;
                              for(int i=0;i<24&&flag!=2;i++){
                                  for(int j=0;j<=59&&flag!=2;j++){
                          			for(int k=0;k<=59&&flag!=2;k++){
                          				if(i==h&&j==m&&k==s){
                          					flag=1;
                          				}
                          				if(flag==1){
                          					printf("%02d:%02d:%02d\n",i,j,k);
                          				}
                          				if(i==h2&&j==m2&&k==s2){
                          					flag=2;
                          					break;
                          				}
                          			}
                          		}
                          	}
                              return 0;
                          }
                          
                          
                          • @ 2024-1-12 21:30:30
                            int main(){
                                int h,m,s,h2,m2,s2;
                                cin>>h>>m>>s>>h2>>m2>>s2;
                                bool flag;
                                for(int i=0;i<24;i++){
                                    for(int j=0;j<=59;j++){
                            			for(int k=0;k<=59;k++){
                            				if(i==h&&j==m&&k==s){
                            					flag=1;
                            					printf("%d:%d:%d\n",i,j,k);
                            				}
                            				if(i==h2&&j==m2&&k==s2&&flag==1){
                            						break;
                            				}
                            			}
                            		}
                            	}
                                return 0;
                            }
                            `
                            
                            • @ 2024-1-12 21:25:56
                              
                              

                              #include<bits/stdc++.h> using namespace std; int main(){ int num1,num2,n=1; cin>>num1>>num2; for(int i=10000;i>=n;i-- ){ if(num1%i0&&num2%i0) { cout<<i; break; } } return 0; }

                              
                              
                              • @ 2024-1-8 21:53:18

                                第一题但没作对

                                using namespace std;
                                int main(){
                                    int h,m,s,h2,m2,s2;
                                    cin>>h>>m>>s>>h2>>m2>>s2;
                                    bool flag;
                                    for(int i=0;i<24;i++){
                                        for(int j=0;j<=59;j++){
                                			for(int k=0;k<=59;k++){
                                				if(i==h&&j==m&&k==s){
                                					flag=1;
                                					printf("%d:%d:%d\n",i,j,k);
                                				}
                                				if(i==h2&&j==m2&&k==s2&&flag==1){
                                						break;
                                				}
                                			}
                                		}
                                	}
                                    return 0;
                                }
                                
                                • @ 2024-1-6 19:14:10
                                  #include<bits/stdc++.h>
                                  using namespace std;
                                  int main(){
                                      int num1,num2,n=1;
                                      cin>>num1>>num2;
                                      for(int i=10000;i>=n;i--){
                                      	if(num1%i==0&&num2%i==0){
                                      	cout<<i;
                                  		break;	
                                  		}
                                  	}
                                      return 0;
                                  }
                                  
                                • @ 2024-1-6 19:13:55
                                  #include<bits/stdc++.h>
                                  using namespace std;
                                  int main(){
                                      for(int a1=1;a1<=19;a1++){
                                      	for(int a2=1;a2<=32;a2++){
                                      		int n=100-a1-a2;
                                      		for(int a3=1;a3<=n;a3++){
                                      					if(a1+a2+a3==100){
                                      						if(5*a1+3*a2+a3/3==100){
                                      							if(a3%3==0){
                                      						cout<<"公鸡"<<a1<<"母鸡"<<a2<<"小鸡"<<a3<<endl;
                                      						}
                                  						}
                                  					}
                                  				}
                                  			}
                                  		}
                                      return 0;
                                  }
                                  
                                • @ 2024-1-6 19:13:38
                                  #include<bits/stdc++.h>
                                  using namespace std;
                                  int main(){
                                      int h,m,s;
                                      int h2,m2,s2;
                                      char ch;
                                      cin>>h>>ch>>m>>ch>>s;
                                      cin>>h2>>ch>>m2>>ch>>s2;
                                      bool flag;
                                      for(int i=0;i<24&&flag!=2;i++){
                                          for(int j=0;j<=59&&flag!=2;j++){
                                  			for(int k=0;k<=59&&flag!=2;k++){
                                  				if(i==h&&j==m&&k==s){
                                  					flag=1;
                                  				}
                                  				if(flag==1){
                                  					printf("%02d:%02d:%02d\n",i,j,k);
                                  				}
                                  				if(i==h2&&j==m2&&k==s2){
                                  					flag=2;
                                  					break;
                                  				}
                                  			}
                                  		}
                                  	}
                                      return 0;
                                  }
                                  
                                • @ 2024-1-6 17:02:48

                                  第一题 #include<bits/stdc++.h> using namespace std; int main(){ int h,m,s; int h1,m1,s1; char ch; cin>>h>>ch>>m>>ch>>s; cin>>h1>>ch>>m1>>ch>>s1; int flag=0; for(int i=0;i<24&&flag!=2;i++) { for(int j=0;j<=59&&flag!=2;j++) { for(int k=0;k<=59&&flag!=2;k++) { if(ih&&jm&&ks) { flag=1; } if(flag1) { printf("%02d:%02d:%02d\n",i,j,k); } if(ih1&&jm1&&k==s1) { flag=2; break; } } } } return 0; }

                                  ```
                                  ``````
                                  
                                  • @ 2024-1-6 17:01:20

                                    第一题 #include<bits/stdc++.h> using namespace std; int main(){ int h,m,s; int h1,m1,s1; char ch; cin>>h>>ch>>m>>ch>>s; cin>>h1>>ch>>m1>>ch>>s1; int flag=0; for(int i=0;i<24&&flag!=2;i++) { for(int j=0;j<=59&&flag!=2;j++) { for(int k=0;k<=59&&flag!=2;k++) { if(ih&&jm&&ks) { flag=1; } if(flag1) { printf("%02d:%02d:%02d\n",i,j,k); } if(ih1&&jm1&&k==s1) { flag=2; break; } } } } return 0; }

                                    • @ 2024-1-6 15:35:27

                                      上周作业第三题

                                      using namespace std;
                                      int main(){
                                          int n,s=0;
                                          cin>>n;
                                          for(int i=2;;i++){
                                              int flag=1;
                                              int tmp=i;
                                              while(tmp!=0){
                                                  int d = tmp%10;
                                                  if(!(d%2==0 or d%3==0)){
                                                      flag = 0;
                                                      break;
                                                  }
                                                  tmp=tmp/10;
                                              }
                                              if(flag==1){
                                                  s++;
                                              }
                                              if(s==n){
                                                  printf("%d\n",i);
                                                  break;
                                              }
                                          }
                                          return 0;
                                      }
                                      

                                      第二题

                                      #include<iostream>
                                      using namespace std;
                                      int main(){
                                      	int n,c=0;
                                      	cin>>n;
                                      	for(int i=2;;i++){
                                      		int flag=1;
                                      		for(int j=2;j<i-1;j++){
                                      			if(i%j==0){
                                      				flag=0;
                                      				break;
                                      			}
                                      		}
                                      		if(flag==1&&i!=1){
                                      			c++;
                                      			if(n==c){
                                      				cout<<i;
                                      				}
                                      		}	
                                      	}
                                      	return 0;
                                      }
                                      

                                      第一题

                                      #include<iostream>
                                      using namespace std;
                                      int main(){
                                      	int num,s=0;
                                      	cin>>num;
                                      	for(int i=2;i<=num;i++){
                                      		int flag=1;
                                      		for(int j=2;j<i-1;j++){
                                      			if(i%j==0){
                                      				flag=0;
                                      				break;
                                      			}
                                      		}
                                      		if(flag==1&&i!=1){
                                      			cout<<i<<" ";
                                      		}
                                      	}
                                      	return 0;
                                      }
                                      
                                      • 1