1 条题解

  • 0
    @ 2023-6-11 12:17:58

    C :

    # include <stdio.h>
    int main()
    {
        int K,N,coin=0;
        scanf("%d",&K);               //输入总天数K
        for(N=1;K-N>=0;K-=N++)       //第1天骑士可获得1枚金币
            coin+=N*N;               //在接下来的连续N天里,骑士每天可获得N枚金币
        printf("%d\n",coin+K*N);   //输出骑士总共可获得的金币数
        return 0;
    }
    

    C++ :

    #include <iostream>
    using namespace std;
    int main(){
        int n,i,s = 0,c = 0,k = 1;
        cin>>n;
        for(i = 1;i <= n;i++){
        	//cout<<i<<" "<<k<<endl;
        	s = s + k;
    		c++;
        	if(c == k){
        		c = 0;
        		k++;
    		}
    	}
    	
    	cout<<s<<endl;
        
    } 
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n=sc.nextInt();
    		int count=0;
    		int sum=0;
    		for(int k=1;true;k++) {
    			// k 来控制 每次加的天数
    		for(int p=0;p<k;p++) {
    			sum=sum+k;
    			count++;
    			if(count==n) {
    				System.out.print(sum);
    				
    				break;
    			}	
    			
    			
    			
    			
    		}
    					
    		
    		if(count==n) {
    			
    			break;
    		}			
    			
    			
    		}
    	}
    
    }
    

    Python :

    a=int(input())
    if a>=1 and a<=10000:
        coins=0
        days=0
        daystrue=0
        tof=1
        while daystrue<=a:
            days+=1
            for i in range(days):
                if daystrue<a:
                    coins+=days
                    daystrue+=1
                else:
                    tof=0
                    break
            if tof==0:
                break
        print(coins)
    
    • 1

    信息

    ID
    2440
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者