#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语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:901 |
K-进制数 (C语言描述,蓝桥杯)浏览:955 |
关于float,double变量的几点说明浏览:1926 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:594 |
矩阵的对角线之和 (C语言代码)浏览:1401 |
多输入输出练习2 (C语言代码)浏览:1710 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:727 |
1074题 初学者,求帮忙看下,不知道哪错了浏览:297 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:444 |
hacknet 2020-03-05 19:12:22 |
c++里面数组大小好像不允有变量 a[n*T+1]