Tamam, bu from Codechef yapmaya çalıştığım kolay bir soru için kod. Soru basitti ama bir sebepten dolayı büyük bir girdi kullanırken yanlış bir cevap alıyorum, fakat küçük bir girdi için doğru olanları.Büyük bir giriş kullanırken yanlış çıktı
Ben houses
10
ve k
2
, ben doğru miktarda alıyorum ama aynı evler tutmak ve k=10
kullandığımda yanlış cevap alacağı atamak Örnek.
Kodum
#include<stdio.h>
#include<math.h>
int main(){
int houses[1000],k,numberofhouses;
int sum=0,tmpsum=0;
int i,j,d;
// printf("enter number of houses\n");
scanf("%d",&numberofhouses);
// printf("enter k\n");
scanf("%d",&k);
// printf("enter distance\n");
for(i=0;i<numberofhouses;i++) {
scanf("%d",&houses[i]);
}
for(i=0;i<(numberofhouses-1);i++) {
for(j=i+1;j<numberofhouses;j++) {
d = (houses[i] - houses[j]);
tmpsum = pow(abs(d),k);
sum = sum + 2 * tmpsum;
}
}
printf("sum is %d",sum);
return 0;
}
Java, C veya C++? C gibi görünüyor. Bu yüzden etiketlerinizi ayarlayın. – pzaenger
int biliyor genellikle 32 bit ve ~ 2kkk etrafında maksimum değer nedir? –
Sorun, sonuca, sizin için bir ipucu olabilecek, ancak bahsetmeyi veya uygulamayı ihmal ettiğiniz modulo 1000000007 verilmelidir. Geçici konumunuzu aşmaktan veya hassasiyeti kaybetmekten kaçınmak için [modüler üslenme] (https://en.wikipedia.org/wiki/Modular_exponentiation) 'ı arıyoruz. –