zadanie z wielomanem i resztą z dzielenia wyniku

0

Cześć, pomóżcie znaleźć błąd - mam zadanie z wielomianem - podany stopień (n), współczynniki (t[]) oraz x więc wyliczam wartość (Hornerem), ale później trzeba wyświetlić resztę z dzielenia całkowitego przez zadane m.
Trochę mi zajęło ogarnięcie reszty gdy wartość wielomianu jest ujemna, znajomy podlinkował stronę - do ujemnego wyniku trzeba dodać dzielnik tyle razy żeby została dodatnia reszta np. -7 mod 3 ==> -7 + 3*3=2 więc ok, już było prosto, sprawdziłem dla kilku przypadków, ale niestety wynik nadal niepoprawny w większości testów a nie widzę błędu. Help.

#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(0);
    long n,i;
    cin>>n;
    long long m,x,pom,t[n+1];
    for(i=0;i<=n;i++) cin>>t[i];
    cin>>m>>x;  
    pom=t[n];
    for(i=n-1;i>=0;i--) pom=pom*x+t[i];
    if(pom<0 && abs(pom)%m!=0) cout<<((abs(pom)/m)+1)*m+pom;
    else cout<<(abs(pom)%m);
}

wielomian.jpg

0

dziękuję, poradziłem sobie - long long mi się przepełniał i to było skutkiem negatywnych ocen w testach

1 użytkowników online, w tym zalogowanych: 0, gości: 1