Выйти из внутреннего цикла, сохранив поток внешнего - C (СИ)
Формулировка задачи:
#include <stdio.h> int main(void) { int number = 10; int count = 0;// обьявляем и инициализируем переменную/счетчик количества найденныых елементов/простых чисел for (int i = 2; i <= number; i++) {// цикл перебор диапазона чисел(number) начиная с 2 и заканчивая number for (int j = 2; j < i; j++) {// цикл нахождения остачи от числа 'i' (делим на пердыдушие кроме самого себя начиная с 2 if (i % j == 0) {// если остача от числа 'i' найдена значит не простое --> выход из ИНТЕРАЦИИ цикла на след виток break; } } count++;// собновляем сетчик количества найденныых елементов/простых чисел printf("i=%d\n", i);// выводит елемент/простое число в консоль } printf("count:%d\n", count);// вывод счетчик количества найденныых елементов/простых чисел }
//Вывести простые числа V1 simpleNumbers(); function simpleNumbers() { let number = 1e2; let arr = [];// обьявляем масив let count = 0;// обьявляем и инициализируем переменную/счетчик количества найденныых елементов/простых чисел console.time('Timer');// старт таймер nextPrime:// метка выхода из цыкла for (let i = 2; i <= number; i++) {// цикл перебор диапазона чисел(number) начиная с 2 и заканчивая number for (let j = 2; j < i; j++) {// цикл нахождения остачи от числа 'i' (делим на пердыдушие кроме самого себя начиная с 2 if (i % j === 0) {// если остача от числа 'i' найдена значит не простое --> выход из ИНТЕРАЦИИ цикла на след виток continue nextPrime;// прекращает выполнение текущей итерации цикла --> управление перепрыгнет на следующую итерацию цикла с меткой. } } arr.push(i);// добавляет элемент в конец массива count++;// собновляем счетчик количества найденныых елементов/простых чисел //console.log(i); // выводит елемент/простое число в консоль } console.timeEnd('Timer');// стоп таймер console.log('Number: ' + number);// вывод числа в диапазоне которого происходит поиск console.log('Счетчик количества найденныых елементов/простых чисел: ' + count);// вывод счетчик количества найденныых елементов/простых чисел console.log('Длина масива/последний индекс + 1: ' + arr.length);// длина length – не количество элементов массива, а последний индекс + 1, так как начало отсчета в масивах '0' console.log('Масив:' + arr);// выводит масива селементов/простых чисел в консоль }
Решение задачи: «Выйти из внутреннего цикла, сохранив поток внешнего»
textual
Листинг программы
//gcc 5.4.0 #include <stdio.h> int is_prime(int n) { if(n==1) return 1; for(int d=2; d*d<=n; d++) if(n%d==0) return 0; return 1; } int main(void) { int number = 200; int count = 0; for(int i=2; i<=number; i++) { if (is_prime(i)) { printf("%d\n", i); ++count; } } printf("count:%d\n", count); return 0; }
Объяснение кода листинга программы
- Первый шаг - объявление функции is_prime, которая принимает целочисленный аргумент n и возвращает 1, если число n является простым, и 0 в противном случае.
- Затем идет объявление функции main, которая является точкой входа в программу. В этой функции объявляются две переменные: number (количество) и count (счетчик).
- Далее следует цикл for, который начинается с 2 и идет до number.
- Внутри цикла проверяется, является ли текущее число i простым с помощью функции is_prime.
- Если число простое, оно выводится на экран и счетчик count увеличивается на 1.
- После завершения цикла выводится значение счетчика count.
- В конце функции main возвращается 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д