Как взять мод для двойного типа данных в C
я хочу взять мод двойного типа данных, чтобы проверить, является ли он четным или нет.
Что я уже пробовал:
СРИ за это...
#include <stdio.h> int main() { long n; scanf("%d",&n); while(n--){ double g; scanf("%d",&g); if(((int)g)%2==0) printf("YES\n"); else printf("NO\n"); } }
Ограничения
1<=n<=100000
1<=g<=10^100
здесь n - это нет. из теста
а G-нет. чтобы проверить, ровный он или нет.
сирр, это не работает.
jeron1
Является ли ограничение для g правильным, от 10 до 100-й степени?
CPallini
Как джерон1 заметьте, вы не можете держать такие большие числа в двойной переменной.
jatinp510
какой тип данных я должен использовать, чтобы сохранить значение для 10^100.
jeron1
Вам понадобится что-то вроде GitHub-sercantutar/infint: целочисленная арифметика произвольной точности[^] (Я не использовал его лично, поэтому не знаю, насколько хорошо он работает). Вы можете погуглить "c++ bigint" и посмотреть, что получится.