@david240
Стажер

Споткнулся на решени задачи на степике по циклам. Что не так?

https://stepik.org/lesson/64123/step/7?unit=41087 Вот задачи по циклам. я застрял начиная с шага 6 дальше двинуться вообще не могу, если пропустить. не получается. не могу просто понять алогритм задач. идей нету никаких..помогите решить эти задачи... сейчас выложу свое решение, оно не правильное, просто скажите где я накосячил, и как это исправить. целую неделю с ними бьюсь. ничего не помогает

шаг 6:
Максимум и минимум
Необходимо найти максимальный и минимальный элемент последовательности, неизвестной длины.
Входные данные:
Последовательность целых чисел, оканчивающаяся нулём. Само число нуль не является членом последовательности, а является лишь сигналом того, что достигнут конец последовательности. В последовательности есть как минимум одно ненулевое число.
Выходные данные
Вывести два целых числа M и m, где M - максимальный элемент последовательности, m - минимальный элемент последовательности.
Sample Input:
123 443 652 828 2 4212 0
Sample Output:
4212 2

#include <stdio.h>
int main() {
  int n,res, k=1;
  scanf("%d",&n);
  while(res<=n){
      res=k*k;
      k+=1;
      printf("%d ",res);
  }
  return 0;
}

шаг 7:
Точные квадраты 
Выведите на экран все точные квадраты натуральных чисел, не превосходящие данного числа N. Выводить квадраты следует от меньшего к большему.
Входные данные:
Одно целое число N. (1≤N≤10000)
Выходные данные: 
Квадраты натуральных чисел, записанные через пробел.
Sample Input 1:
50
Sample Output 1:
1 4 9 16 25 36 49 

#include <stdio.h>
int main() {
  int n,res, k=1;
  scanf("%d",&n);
  while(res<=n){
      res=k*k;
      k+=1;
      printf("%d ",res);
  }
  return 0;
}

шаг 8:
Степень двойки 
По данном числу N определить, является ли оно степенью числа 2.
Входные данные:
Одно целое неотрицательное число N.
Выходные данные: 
YES -- если число N является степенью двойки, и NO в противном случае.
Sample Input:
128
Sample Output:
YES

#include <stdio.h>
#include <math.h>
int main() {
  int N=0,two,step;
  scanf("%d",&N);
  N=pow(two,step);
  do{
     if(two==2){
         step+=1;
         printf("YES");     
     }else{
         printf("NO");
     }
  }while(N);
  return 0;
}
  • Вопрос задан
  • 990 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы