• 取石子
  • ProjectEuler 5(题解)因为题目里的n也就小于等于二十,所以我就自己一个一个算出来了,然后真就对了!!!

  • @ 2025-7-11 11:49:14
#include<bits/stdc++.h>
using namespace std;
int main(){
	int t,n;
	cin>>t;
	for(int i=1;i<=t;i++){
		cin>>n;
		if(n==1){
			cout<<"1\n";
		}else if(n==2){
			cout<<"2\n";
		}else if(n==3){
			cout<<"6\n";
		}else if(n==4){
			cout<<"12\n";
		}else if(n==5){
			cout<<"60\n";
		}else if(n==6){
			cout<<"60\n";
		}else if(n==7){
			cout<<"420\n";
		}else if(n==8){
			cout<<"840\n";
		}else if(n==9){
			cout<<"2520\n";
		}else if(n==10){
			cout<<"2520\n";
		}else if(n==11){
			cout<<"27720\n";
		}else if(n==12){
			cout<<"27720\n";
		}else if(n==13){
			cout<<"360360\n";
		}else if(n==14){
			cout<<"360360\n";
		}else if(n==15){
			cout<<"360360\n";
		}else if(n==16){
			cout<<"720720\n";
		}else if(n==17){
			cout<<"12252240\n";
		}else if(n==18){
			cout<<"12252240\n";
		}else if(n==19){
			cout<<"232792560\n";
		}else if(n==20){
			cout<<"232792560\n";
		}
	}
	return 0;
}

1 条评论

  • @ 2025-7-11 13:18:43

    #include using namespace std; int aaa(int n,int m) { int s=1; for(int i=2;i<=m;i++) { if(n%i==0) s+=i; } return s; }

    int main() { int n,m; int a,b; cin>>n>>m; a=aaa(n,n-1); b=aaa(m,m-1); if(am and bn){ cout<<"yes"; } else{ cout<<"no"; } return 0; }

    (论于某)

    👍 1
    • 1

    信息

    ID
    116
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    56
    已通过
    9
    上传者