• C++
  • 信奥集训下午班 总结&作业

  • @ 2024-1-28 17:28:14

主题:信奥数学的编程实现

  • 欧几里德算法(辗转相除法求最大公约数)

求解最大公约数 求解最小公倍数 判断互质 分数化简

  • 菲波那切数列
  • 分解质因数
  • 完全数

作业 第一题:亲密对数 image 第二题:自守数 image

11 条评论

  • @ 2024-1-29 15:53:20

    image

    • @ 2024-1-29 15:52:02

      image

      • @ 2024-1-29 13:59:21
        #include<bits/stdc++.h>
        #include<cmath>
        using namespace std;
        
        int main(){
            int num;
            cin>>num;
            int i =0;
            int tmp = num;
            while(tmp){
                tmp/=10;
                i++;
            }
            int w = num*num%((int)pow(10,i));
            if(w==num){
                cout<<"yes";
            }else{
                cout<<"no";
            }
            return 0;
        }
        
        • @ 2024-1-29 13:48:36
          #include<bits/stdc++.h>
          using namespace std;
          
          int main(){
              int num1,num2;
              cin>>num1>>num2;
              for(int i=num1;i<=num2;i++){
                  int sum1=0;
                  for(int j=1;j<i;j++){
                      if(i%j==0){
                          sum1+=j;
                      }
                  }
                  int sum2=0;
                  for(int j=1;j<sum1;j++){
                      if(sum1%j==0){
                          sum2+=j;
                      }
                  }
                  if(i==sum2&&i<sum1){
                      
                      cout<<i<<" "<<sum1<<endl;
                  }
              }
          }
          
          • @ 2024-1-29 13:36:45

            未完成昨天作业同学:刘力臻、罗立轩、戴泓奕

            • @ 2024-1-29 9:21:57
              #include<bits/stdc++.h>
              using namespace std; 
              int main(){ 
              	int n,s;
              	cin>>n;
              	s=n*n;
              	while(1){
              		s=s%10;
              		n=n%10;
              		if(s<10){
              			break;
              		}
              	}
              	if(s=n){
              		cout<<"yes";
              	}
              	else if(s!=n){
              		cout<<"no";
              	}
              	else{
              		cout<<s;
              	}
              	return 0; 
              }
              
              
              • @ 2024-1-29 9:12:05
                #include<bits/stdc++.h>
                using namespace std; 
                int main(){ 
                	int n,m;
                	cin>>n>>m;
                	for(int i=n;i<m;i++){
                		int sum=0,s=0;
                		for(int j=1;j<=i;j++)
                			if(m%j==0){
                				sum+=j;
                			}
                			else if(n%j==0){
                				s+=j;
                			}
                			if(sum==n){
                				cout<<n<<m;
                				break;
                			}
                			else if(sum!=n){
                				cout<<"no";
                				break;
                			}
                		}
                	return 0; 
                }
                
                
                • @ 2024-1-28 23:09:44
                  #include<bits/stdc++.h>
                  using namespace std; 
                  int main(){ 
                  	int n,m;
                  	cin>>n>>m;
                  	for(int i=n;i<m;i++){
                  		int sum=0,s=0;
                  		for(int j=1;j<=i;j++)
                  			if(m%j==0){
                  				sum+=j;
                  			}
                  			else if(n%j==0){
                  				s+=j;
                  			}
                  			if(sum==n){
                  				cout<<n<<m;
                  				break;
                  			}
                  			else if(sum!=n){
                  				cout<<"no";
                  				break;
                  			}
                  		}
                  	return 0; 
                  }
                  
                  • @ 2024-1-28 23:08:48
                    #include<bits/stdc++.h>
                    using namespace std; 
                    int main(){ 
                    	int n,s;
                    	cin>>n;
                    	s=n*n;
                    	while(1){
                    		s=s%10;
                    		n=n%10;
                    		if(s<10){
                    			break;
                    		}
                    	}
                    	if(s=n){
                    		cout<<"yes";
                    	}
                    	else if(s!=n){
                    		cout<<"no";
                    	}
                    	else{
                    		cout<<s;
                    	}
                    	return 0; 
                    }
                    
                    • @ 2024-1-28 18:12:47

                      第一题

                      #include<bits/stdc++.h>
                      using namespace std; 
                      int main(){ 
                      	int n,m;
                      	cin>>n>>m;
                      	for(int i=n;i<m;i++){
                      		int sum=0,s=0;
                      		for(int j=1;j<=i;j++)
                      			if(m%j==0){
                      				sum+=j;
                      			}
                      			else if(n%j==0){
                      				s+=j;
                      			}
                      			if(sum==n){
                      				cout<<n<<m;
                      				break;
                      			}
                      			else if(sum!=n){
                      				cout<<"no";
                      				break;
                      			}
                      		}
                      	return 0; 
                      }
                      
                      • @ 2024-1-28 17:51:03

                        第二题

                        #include<bits/stdc++.h>
                        using namespace std; 
                        int main(){ 
                        	int n,s;
                        	cin>>n;
                        	s=n*n;
                        	while(1){
                        		s=s%10;
                        		n=n%10;
                        		if(s<10){
                        			break;
                        		}
                        	}
                        	if(s=n){
                        		cout<<"yes";
                        	}
                        	else if(s!=n){
                        		cout<<"no";
                        	}
                        	else{
                        		cout<<s;
                        	}
                        	return 0; 
                        }
                        
                        • 1