eolymp
bolt
Try our new interface for solving problems
Məsələlər

Tək bölənlər

dərc olunub 31.01.16 12:37:39

Здравствуйте, один и тот же код написанный на двух разных языках дает разные результаты: на С++ все проходит 100%, на Питоне - тот же алгоритм - не проходит. Проблема в тестах по Питону? По условиям задачи требуется, чтобы программа расчитывал и выводил результат пока ВВОДНЫЕ данные есть, т.е. если ВВОД = пустая строка она должна завершится. Код написанный на Питоне по такому смыслу не проходит ни один тест, а если я принудительно делаю вызов программы ТРИ раза (как в примере) один тест проходит (значит в одном тесте три тестовые данные есть).

dərc olunub 03.01.24 20:14:30

include <bits/stdc++.h>

using namespace std ;

int f( long long n ) { long long a ;

for( long long j = 1 ; j <= n ; j += 2 ) {
    if( n % j == 0 ) {
        a = j ;
    }
}

return a ;

}

int main() { long long n ; cin >> n ; long long s = 0 ;

for( long long i = 1 ; i <= n ; i++ ) {
    s += f(i) ;
}

cout << s ;

}

dərc olunub 03.04.24 01:08:27

import java.util.Scanner;

public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long n;

    while (scanner.hasNextLong()) {
        n = scanner.nextLong();
        System.out.println(g(n));
    }
}

public static long g(long n) {
    long k = (n + 1) / 2;
    if (n == 0) return 0;
    return k * k + g(n / 2);
}

}