5 条题解

  • 1
    @ 2025-1-17 19:59:33
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    int main()
    {
    	int q;
    	cin>>q;
    	while(q--)
    	{
    		int n,sum=1,result=0;
    		cin>>n;
    		int w=n;
    		while(w--)
    		{
    		int j=1;
    		for(int i=1;i<=n;i=2*j+1,j++)
    		{
    			sum*=i;
    		    
    		}
    		result+=sum;
    		sum=1;
    		n--;
    		}
    		cout<<result<<endl;
    	}	
    	return 0;
    }
    别麻烦,就这样,对变量熟练掌握,就是简单的题。
    
    • 1
      @ 2023-9-25 21:20:39
      //另一种阶乘问题
      #include<stdio.h>
      int main()
      {
          int n,sum=0,a,p=1;
          scanf("%d",&n);
          for(int i=0;i<n;i++)
          {
              scanf("%d",&a);
              for(int j=1;j<=a;j++)
              {
                  if(j%2==0)
                  {
                      for(int k=1;k<j;k=k+2)
                      {
                          p=p*k;
                      }
                      sum=sum+p;
                      p=1;
                  }
                  else
                  {
                      for(int k=1;k<=j;k=k+2)
                      {
                          p=p*k;
                      }
                      sum=sum+p;
                      p=1;
                  }
              }
              printf("%d\n",sum);
              sum=0;
          }
          return 0;
       } 
      
      • 0
        @ 2024-10-17 23:27:52

        #include <stdio.h> int main() { int i, j, sum = 0; int val; int a; scanf("%d",&a); while(a--) { scanf("%d", &val); for (i = 1; i <= val; i++) { int factorial = 1; for (j = 1; j <= i; j+=2) { factorial *= j; } sum += factorial; }

        printf("%d\n", sum); sum=0; } return 0;

        }

        • 0
          @ 2024-9-18 11:34:11
          #include<stdio.h>
          long long int jishu(int m) {
          long long int l = 1;
          for (int k = 1; k <= m; k++) {
                if (k % 2 != 0) { //这里的m就是相当于j,利用这个函数可以求从1到m中所有奇数相乘的结果
                l *= k;
                }
          }
          return l;
          
          }
          int main() {
          int a;
          scanf("%d", &a);
          for (int i = 1; i <= a; i++) { //测试数据的次数
                long long int sum = 0; //这里采      用long long int是为了防止阶乘得到的结果过大造成超过int范围
                int n;
          scanf("%d", &n); //每次测试的数据
          for (int j = 1; j <= n; j++) { //利用循环进行遍历求1!+2!+3!+...n!
                sum += jishu(j); //利用函数求具体的j!
          }
          printf("%lld\n", sum);
          }
          
          }
          
          • 0
            @ 2023-9-22 21:56:27
            #include <stdio.h>
            int fun1(int x)
            {
                int sum2=1;
                for(int i=1;i<=x;i+=2)
                sum2*=i;
                return sum2;
            }
            int fun2(int m)
            {
                int sum1=0;
                for(int i=1;i<=m;i++)
                sum1+=fun1(i);
                return sum1;
            }
            int main()
            {
                int n;
                int i=0;
                scanf("%d",&n);
                int sum[n];
                for(;i<n;i++)
                {
                    scanf("%d",&sum[i]);
                }
                i=0;
                for(int x=1;x<=n;x++)
                {printf("%d\n",fun2(sum[i]));
                i++;}
                return 0; 
            }
            
            • 1

            信息

            ID
            144
            时间
            3000ms
            内存
            128MiB
            难度
            4
            标签
            (无)
            递交数
            719
            已通过
            343
            上传者