鱼C论坛

 找回密码
 立即注册
查看: 2507|回复: 15

[已解决]求序列平方和,感谢大佬了

[复制链接]
发表于 2022-5-18 20:21:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 tyl555 于 2022-5-18 21:29 编辑

请编写程序,输入正整数 n,计算平方和n=1+2^2+3^2+......+n^2
输入格式
整数 n
注:n 在 int 类型范围内,格式限定符采用 %d。
输出格式
实数 s
在 double 类型范围内,格式限定符采用 %.15g
注:代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MBs 。
//我这样写时间超了
#include<stdio.h>
int main()
{
        int n,i,l;
        double s;
        scanf("%d",&n);
    for(i=1;i<=n;i++)
    s=s+(double)i*i;
        printf("%.15g\n",s);
        return 0;
}
最佳答案
2022-5-19 13:28:22
本帖最后由 风车呼呼呼 于 2022-5-19 13:54 编辑
tyl555 发表于 2022-5-19 12:55
我交到了pta上面的,交上去显示有一个错了,是不是我改错了
#include
int main(void) {


单独声明一个double变量装 n
double t = (double)n;

如果不允许声明除s、n以外的变量,那就把式子里的每个n都强制转换一下,应该是括号里的溢出了
s = (double)n * ( (double)n + 1) * (2 *(double) n + 1) / 6;

更简洁的,可以这样写
s = n * (n + 1.0) * (2.0 * n + 1) / 6;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-18 20:31:04 | 显示全部楼层
你这不是时间超了吧,你这是直接写错了吧?
题目要求一个加,一个减,一个加,一个减,。。。
你这整的全是加?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-18 20:32:15 | 显示全部楼层
还有,你的变量s没有初始化
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-18 20:32:55 | 显示全部楼层
还有,你的变量l没有使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-18 20:35:23 | 显示全部楼层
请编写程序,输入正整数 n,计算平方和n=1+2^2-3^2+......+n^2
这里是
n= 还是 s= ?

n=1+2^2-3^2+......+n^2
?
s=1+2^2-3^2+......+n^2
?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-18 20:43:45 | 显示全部楼层
平方差公式 : a ^ 2  -  b ^ 2 == (a+b) * (a-b)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-18 21:26:04 | 显示全部楼层
人造人 发表于 2022-5-18 20:35
请编写程序,输入正整数 n,计算平方和n=1+2^2-3^2+......+n^2
这里是
n= 还是 s= ?

s=
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-18 21:27:52 | 显示全部楼层
人造人 发表于 2022-5-18 20:31
你这不是时间超了吧,你这是直接写错了吧?
题目要求一个加,一个减,一个加,一个减,。。。
你这整的全 ...

平方序列求和
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-18 21:53:01 | 显示全部楼层
以int型的最大正整数测试,运行时间在10~15毫秒以内
int main(void) {
        int n=0x7fffffff;
        printf("%d\n", n);
        double s = 0;
        //scanf("%d", &n);
        s = (double)n * (n + 1) * (2 * n + 1) / 6;
        printf("%15g\n", s);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-19 12:09:48 | 显示全部楼层
风车呼呼呼 发表于 2022-5-18 21:53
以int型的最大正整数测试,运行时间在10~15毫秒以内

交上去,说有一个答案错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-19 12:14:35 | 显示全部楼层
tyl555 发表于 2022-5-19 12:09
交上去,说有一个答案错了

输出格式%.15g,少了个点你给加上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-19 12:31:45 | 显示全部楼层
风车呼呼呼 发表于 2022-5-19 12:14
输出格式%.15g,少了个点你给加上

我加了的
#include<stdio.h>
int main(void) {
        int n=0;
        double s = 0;
        scanf("%d", &n);
        s = (double)n * (n + 1) * (2 * n + 1) / 6;
        printf("%.15g\n", s);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-19 12:51:35 | 显示全部楼层
tyl555 发表于 2022-5-19 12:31
我加了的
#include
int main(void) {

有一个答案错了是什么意思,n的21亿种可能情况中只有一种情况的答案错了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-19 12:55:36 | 显示全部楼层
风车呼呼呼 发表于 2022-5-19 12:51
有一个答案错了是什么意思,n的21亿种可能情况中只有一种情况的答案错了?

我交到了pta上面的,交上去显示有一个错了,是不是我改错了
#include<stdio.h>
int main(void) {
        int n=0;
        double s = 0;
        scanf("%d", &n);
        s = (double)n * (n + 1) * (2 * n + 1) / 6;
        printf("%.15g\n", s);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-19 13:28:22 | 显示全部楼层    本楼为最佳答案   
本帖最后由 风车呼呼呼 于 2022-5-19 13:54 编辑
tyl555 发表于 2022-5-19 12:55
我交到了pta上面的,交上去显示有一个错了,是不是我改错了
#include
int main(void) {


单独声明一个double变量装 n
double t = (double)n;

如果不允许声明除s、n以外的变量,那就把式子里的每个n都强制转换一下,应该是括号里的溢出了
s = (double)n * ( (double)n + 1) * (2 *(double) n + 1) / 6;

更简洁的,可以这样写
s = n * (n + 1.0) * (2.0 * n + 1) / 6;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-19 14:05:18 | 显示全部楼层
风车呼呼呼 发表于 2022-5-19 13:28
单独声明一个double变量装 n
double t = (double)n;

大佬666,对了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 16:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表