Совершенные числа, также известные как совершенные числа или полные числа, представляют собой особые натуральные числа. Сумма всех его истинных факторов (то есть делителей, отличных от него самого) (то есть фактор-функции) в точности равна самой себе.
Dim a как целое число, b как целое число, c как целое число Для a = 1 до 10000c = 0 Для b = 1 до a / 2If a Mod b = 0 Тогда c = c + bNext bIf a = c Тогда выведите Str(a)Next a
Прикреплен код Java-версии.
import java.util.ArrayList; public class T013 { public static void main(String[] args){ ArrayList p = new ArrayList(); // Сохраняем коэффициент разложения каждой группы int count = 0 // Count (завершено) общее число) int sum; // sum = (сумма каждого фактора) for(int i=2;i<10000;i++){ // Проверка каждого числа i sum = 0; j=1;j<i/2+1;j++){ if(i%j==0){ p.add(j); // Сохраняем сумму каждого фактора i += j; // Сохраняем sum( Сумма всех факторов i) } } if(sum==i){ // Если текущий i — идеальное число, выведите (i=сумму всех факторов) count++; System.out.printf("%4d); "+" — идеальное число, коэффициент равен "+i+"=",i); for(int k=0;k<p.size()-1;k++){ System.out.print(p.get(k) +" +"); } System.out.println(p.get(p.size()-1)); } p.clear(); // В конце каждого i очищаем массив и пересчитываем коэффициенты. следующего И. } System.out.println("/n найдено всего "+count+" идеальных чисел!");
Выше приведено все содержание этой статьи, надеюсь, она вам всем понравится.