dfbdcfbbf D dfbdcfbbf Регистрация 4 Дек 2013 Сообщения 88 Репутация -3 Спасибо 0 Монет 0 28 Окт 2016 #1 Задание: 2^15 = 32768, сумма цифр 3 + 2 + 7 + 6 + 8 = 26. Какова сумма цифр числа 2^1000? Так же имеется код программы, который при подсчёте суммы, выдаёт неправильный результат (результат немного меньше, чем нужно): double ch; long sum=0; ch=Math.pow(2,1000); System.out.println(ch); for(int i=0; i<1000; i++) { sum+=ch%10; ch/=10; } System.out.println(sum); } Что именно не так в коде и как это исправить?
Задание: 2^15 = 32768, сумма цифр 3 + 2 + 7 + 6 + 8 = 26. Какова сумма цифр числа 2^1000? Так же имеется код программы, который при подсчёте суммы, выдаёт неправильный результат (результат немного меньше, чем нужно): double ch; long sum=0; ch=Math.pow(2,1000); System.out.println(ch); for(int i=0; i<1000; i++) { sum+=ch%10; ch/=10; } System.out.println(sum); } Что именно не так в коде и как это исправить?
алибааб А алибааб Регистрация 1 Окт 2013 Сообщения 83 Репутация 0 Спасибо 0 Монет 0 28 Окт 2016 #2 А 2^1000 в double-то не влезет? Там вроде меньше умещается. В этом случае наверное только выделение памяти поможет, хотя может я и не прав Позитивный голос 0
А 2^1000 в double-то не влезет? Там вроде меньше умещается. В этом случае наверное только выделение памяти поможет, хотя может я и не прав
МАКС М МАКС Регистрация 26 Янв 2013 Сообщения 114 Репутация 0 Спасибо 0 Монет 0 28 Окт 2016 #3 Думаю, может быть математики и найдут тут какой-нибудь хитрый алгоритм подсчёта суммы цифр степени двойки, ну а если нет, то я бы использовала "длинную арифметику" для решения этой задачи. Позитивный голос 0
Думаю, может быть математики и найдут тут какой-нибудь хитрый алгоритм подсчёта суммы цифр степени двойки, ну а если нет, то я бы использовала "длинную арифметику" для решения этой задачи.