Професионална програма
Loading...
Elena123456 avatar Elena123456 93 Точки

03. Stop Number- 7.2. Complex Loops - Exam Problems: сравнение между Java script и C#

Здравейте, моля за помощ и за следната задача, защото се опитвам да дам шанс и на Java script.  :) Определено за мен писането на C# е доста по-приятно, а на Java script e мъка при положение, че разбираш основната логика и въпреки всичко програмата се чупи. Дори вече  започвам да се замислям дали може да се мине и без Java script, ако знаеш примерно Go, като се има предвид, че фокуса не ми е правенето на сайтове. Моля за безпристрастно мнение по въпроса.

 

Отностно задачата започвам да си мисля, че може би % делене в Java script е по-различно отколкото в C#. И срещам трудност в печатането на празно простраство при изполването на метода- process.stdout.write.

Задачата е следната:

 

Задача: спиращо число

Напишете програма, която принтира на конзолата всички числа от N до M, които се делят на 2 и на 3 без остатък, в обратен ред. От конзолата ще се чете още едно "спиращо" число S. Ако някое от делящите се на 2 и 3 числа е равно на спиращото число, то не трябва да се принтира и програмата трябва да приключи. В противен случай се принтират всички числа до N, които отговарят на условието.

Вход

От конзолата се четат 3 числа, всяко на отделен ред:

  • N - цяло число: 0 ≤ N < M.
  • M - цяло число: N < M ≤ 10000.
  • S - цяло число: N ≤ S ≤ M.

Изход

На конзолата се принтират на един ред, разделени с интервал, всички числа, отговарящи на условията.

Примерен вход и изход

Вход Изход Обяснения
1
30
15
30 24 18 12 6 Числата от 30 до 1, които се делят едновременно на 2 и на 3 без остатък са: 30, 24, 18, 12 и 6. Числото 15 не е равно на нито едно, затова редицата продължава.
Вход Изход Обяснения
1
36
12
36 30 24 18 Числата от 36 до 1, които се делят едновременно на 2 и на 3 без остатък, са: 36, 30, 24, 18, 12 и 6. Числото 12 е равно на спиращото число, затова спираме до 18.
Вход Изход
20
1000
36
996 990 984 978 972 966 960 954 948 942 936 930 924 918 912 906 900 894 888 882 876 870 864 858 852 846 840 834 828 822 816 810 804 798 792 786 780 774 768 762 756 750 744 738 732 726 720 714 708 702 696 690 684 678 672 666 660 654 648 642 636 630 624 618 612 606 600 594 588 582 576 570 564 558 552 546 540 534 528 522 516 510 504 498 492 486 480 474 468 462 456 450 444 438 432 426 420 414 408 402 396 390 384 378 372 366 360 354 348 342 336 330 324 318 312 306 300 294 288 282 276 270 264 258 252 246 240 234 228 222 216 210 204 198 192 186 180 174 168 162 156 150 144 138 132 126 120 114 108 102 96 90 84 78 72 66 60 54 48 42

 

Задачата решена на C#: Judge 100/100

using System;
                    
public class Program
{
    public static void Main()
    {
        
    var N=int.Parse(Console.ReadLine());
    var M=int.Parse(Console.ReadLine());    
    var S=int.Parse(Console.ReadLine());    
        
    for(var num=M;num>=N;num--) {    
      if(num%2==0 && num%3==0) {
         if(num!=S) {
        Console.Write(num+ " " );}
         else if(num==S) {
         break;}
      }
        
    }
}
}

 

 

Неуспешен опит на Java script: Judge 0/100

function solve([arg1,arg2,arg3]) {
  let n=Number(arg1);
  let m=Number(arg2);
  let s=Number(arg3);
 
  for(var num=m;num>=n;num--) {
    if(num%2==0 && num%3==0) {
      if (num!=s) {
         process.stdout.write(num + " ")  
       }
      
      else if(num==s) {
          break;
      }
     }
        
   }
    }

 

 

Тагове:
0
Programming Basics 20/05/2020 15:17:18
MartinBG avatar MartinBG 3110 Точки

Заглавието на темата е за 03. Stop Number

Условието, което сте дали е за 02. Magic Numbers

Решението, което сте дали е за 04. Special Numbers (и минава 100/100)

 

Тук и аз се затруднявам да отговоря smiley

0
Elena123456 avatar Elena123456 93 Точки

Извинявам се за недоглеждането.

Условието на задачата е "Спиращо число" (редактирах го) и съм дала примерно решение за същата си задача-"Спиращо число" с четене на три числа- N,M,S.

Да, видях, като казахте и вие, че като поставя решението си на задачата "Спиращо число" на Java script ето тук- https://judge.softuni.bg/Contests/Practice/Index/938#3 (за "Специални числа") и ми дава 100/100. Това е проблем в Judje, за който ще пиша.  Благодаря, че го видяхте. :)

 

За C# си е ок- поствам решението на задачата за "Спиращо число" ето тук- https://judge.softuni.bg/Contests/Practice/Index/515#2 (За "Спиращо число")  и си ми дава 100/100.

А ако пейстна същото решение на C# за "Спиращо число" ето тук- https://judge.softuni.bg/Contests/Practice/Index/515#3 ("Специални числа") вече както е и нормално Judge дава 0/100, защото е различна задача. А при Java script същото действие дава 100/100. :)

В такъв случай би трябвало задачата да ми е вярна и на Java Script, като проблема си е бъг на Judje.

 

Поздрави и дано пак нещо не съм объркала с копи пействанията. :))

1
MartinBG avatar MartinBG 3110 Точки

@Elena123456

Да, изглежда грешката е в Judge yes

1