gpt4 book ai didi

c++ - 减少内存使用,C,CodeChef

转载 作者:太空宇宙 更新时间:2023-11-04 05:00:28 27 4
gpt4 key购买 nike

我正在做这个问题:http://www.codechef.com/problems/FCTRL我有解决方案,但是内存使用量为 1.6 MB,这显然太多了。看到我几乎没有持久数据,我不明白如何减少这种情况。这是我的代码:

#include <stdio.h>
#include <math.h>


int maxPower(long x) {
int i;
for(i = 0; i<= 100; i++) {
long myPower = pow(5,i);
if(myPower > x) {
return (i-1);
}
}
}

int main (void) {
int lines;

scanf("%d", &lines);

int i;
for(i = 0; i<lines; i++) {
long temp;
scanf("%ld", &temp);
int five_counter = 0;
int myPower = maxPower(temp);
int power;
for(power = 1; power<=myPower; power++) {
five_counter += floor(temp/((int)(pow(5,power))));
}

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

如您所见,它是用 C 语言编写的。关于如何减少内存使用有什么想法吗?

最佳答案

这是我提交的并且被接受了

#include<stdio.h>
int main()
{
long n,q=0,t,c=1,result,z,m=5;
scanf("%ld",&t);
while(c<=t)
{
scanf("%ld",&n);
z=0;
while(n!=0)
{
q=n / m;
z=z+q;
n=q;
}
printf("%ld\n",z);
c++;
}
return 0;
}

主要逻辑是阶乘末尾的零是 5 的最高次幂。

关于c++ - 减少内存使用,C,CodeChef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4928924/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com