#include<iostream> using namespace std; int main() { long long n,k,T; while(cin>>n>>k>>T) { long long sum=0,num1=1,num=0,t; num=(1+n)*n/2; while(t<T) { sum+=num1; num1=(num1+num+n*n*t)%k; t++; } cout<<sum<<endl; } return 0; }
这题写了很久 按常规写法 会超时 所以要找到简便的方法找出每一次栋栋数到的数 使复杂度保持在n 这题有个易错点就是如何变量n不使用long long类型的话 答案就是不正确 原因是int 型变量和int型变量相乘时 所得数的范围为int 类型。会导致数据丢失
0.0分
1 人评分
#include<stdio.h> int main() { int n,k,T,i,j; int t; long long sum=0; scanf("%d%d%d",&n,&k,&T); long long int a[n*T+1]; a[0]=1; for(i=1;i<n*T+1;i++) { a[i]=a[i-1]+i; if(a[i]>k-1) a[i]=a[i]%(k-1)-1; } for(i=0,t=0;t<3;i+=n,t++) sum+=a[i]; printf("%lld",sum); return 0; } 提示编译错误能不能给个思路
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:598 |
C语言程序设计教程(第三版)课后习题8.9 (Java代码)浏览:1325 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:604 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:850 |
母牛的故事 (C语言代码)浏览:915 |
【亲和数】 (C语言代码)浏览:501 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:504 |
星期判断机 (C语言代码)浏览:859 |
单词个数统计 (C语言代码)浏览:1009 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:585 |
hacknet 2020-03-05 19:12:22 |
c++里面数组大小好像不允有变量 a[n*T+1]