Найти все натуральные числа от 1 до 1000, которые совпадают с последними разрядами своих квадратов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задача вроде и понятна. но есть пару моментов. Обязательно нужно использовать функции библиотеки <string.h>. Собственно я нашел совершенно подходящую функцию для поиска символа - char * strrchr( const char *string, int i). Но как ее притулить мне совершенно не понятно. Если есть другие варианты, то от них я тоже не отказываюсь.
Листинг программы
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<conio.h>
  4. #include<math.h>
  5. #include<string.h>
  6. int main()
  7. {
  8. int i,n;
  9. for(i=0;i<100;i++)
  10. {
  11. n=pow(i,2);
  12. // char * strrchr( const char *string, int i)
  13. printf("\n%d",n);
  14. }
  15. getch();
  16. }

Решение задачи: «Найти все натуральные числа от 1 до 1000, которые совпадают с последними разрядами своих квадратов»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.     for (int i = 1; i <= 1000; i++) {
  5.         if (i < 10 && i == (i*i) % 10)       printf("%d\n", i);
  6.         else if (i >9 && i == (i*i) % 100)   printf("%d\n", i);
  7.         else if (i >99 && i == (i*i) % 1000) printf("%d\n", i);
  8.     }
  9.  
  10.     return 0;
  11. }

Объяснение кода листинга программы

В этом коде выполняется поиск всех натуральных чисел от 1 до 1000, которые совпадают с последними разрядами своих квадратов. Идея заключается в том, что мы проверяем последние цифры квадрата числа, а не само число. Код разбивает числа на группы по размеру их последних цифр: однозначные числа, числа от 10 до 99 и числа от 100 до 999. Это делается с помощью операторов деления по модулю (%). Если остаток от деления квадрата числа на 10 равен самому числу, то число подходит под условие. Список действий:

  1. Включение заголовочного файла stdio.h.
  2. Запуск цикла от 1 до 1000.
  3. Проверка для однозначных чисел: если число меньше или равно 10 и оно совпадает с последними цифрами своего квадрата (т.е. (i*i) % 10), то оно подходит и выводится на экран.
  4. Проверка для чисел от 10 до 99: если число больше 9 и оно совпадает с последними цифрами своего квадрата (т.е. (i*i) % 100), то оно подходит и выводится на экран.
  5. Проверка для чисел от 100 до 999: если число больше 99 и оно совпадает с последними цифрами своего квадрата (т.е. (i*i) % 1000), то оно подходит и выводится на экран.
  6. Цикл продолжается до тех пор, пока не будут проверены все числа от 1 до 1000.
  7. Возвращение 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы