3 条题解

  • 1
    @ 2025-2-8 11:50:15
    #include<bits/stdc++.h>
    using namespace std;
    int n;
    void p(int x)
    {
    	int s=0;
    	for(int i=1;i<x;i++) if(x%i==0) s+=i;
    	if(s==x)
    	{
    		cout<<x<<" its factors are ";
    		for(int i=1;i<x;i++) if(x%i==0) cout<<i<<" ";
    		cout<<endl;
    	}
    }
    int main()
    {
    	cin>>n;
    	for(int i=1;i<=n;i++) p(i);
    	return 0;
    }
    
    • 0
      @ 2025-12-21 17:24:56
      说明
      一个正整数如果能表示成两个正整数的平方差,则称这个数为一个“智慧数”,比如
      16
      16就等于
      5
      5的平方减去
      3
      3的平方,所以
      16
      16就是一个智慧数,从
      1
      1开始的自然数列中,将“智慧数"从小到大编号为
      1
      1,
      2
      2,
      3
      3,...,
      n
      n。现输入一个正整数
      n
      n,输出第
      n
      n个“智慧数”。
      
      输入格式
      输入仅包含一个正整数
      n
      n (
      1
      ≤
      n
      ≤
      100
      1≤n≤100)。
      
      输出格式
      输出仅包含一个正整数,表示编号为
      n
      n的“智慧数”。
      
      样例
      输入数据 1
      3
      输出数据 1
      7
      
      
      
      • 0
        @ 2024-11-17 11:35:49

        #include<bits/stdc++.h> using namespace std; int n; void check(int x) { int sum=0; for(int i=1;i<x;i++) { if(x%i0) sum+=i; } if(sumx) { cout<<x<<" its facters are "; for(int i=1;i<x;i++) { if(x%i==0) cout<<i<<' ' } cout<<endl; } int main() { cin>>n; for(int i=1;i<=n;i++) { check(i); } return 0;//仅供参考 }

        • 1

        信息

        ID
        200
        时间
        1000ms
        内存
        64MiB
        难度
        6
        标签
        递交数
        30
        已通过
        11
        上传者