Найти все натуральные числа от 1 до 1000, которые совпадают с последними разрядами своих квадратов - C (СИ)
Формулировка задачи:
Задача вроде и понятна. но есть пару моментов. Обязательно нужно использовать функции библиотеки <string.h>.
Собственно я нашел совершенно подходящую функцию для поиска символа - char * strrchr( const char *string, int i).
Но как ее притулить мне совершенно не понятно. Если есть другие варианты, то от них я тоже не отказываюсь.
#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<math.h> #include<string.h> int main() { int i,n; for(i=0;i<100;i++) { n=pow(i,2); // char * strrchr( const char *string, int i) printf("\n%d",n); } getch(); }
Решение задачи: «Найти все натуральные числа от 1 до 1000, которые совпадают с последними разрядами своих квадратов»
textual
Листинг программы
#include <stdio.h> int main() { for (int i = 1; i <= 1000; i++) { if (i < 10 && i == (i*i) % 10) printf("%d\n", i); else if (i >9 && i == (i*i) % 100) printf("%d\n", i); else if (i >99 && i == (i*i) % 1000) printf("%d\n", i); } return 0; }
Объяснение кода листинга программы
В этом коде выполняется поиск всех натуральных чисел от 1 до 1000, которые совпадают с последними разрядами своих квадратов. Идея заключается в том, что мы проверяем последние цифры квадрата числа, а не само число. Код разбивает числа на группы по размеру их последних цифр: однозначные числа, числа от 10 до 99 и числа от 100 до 999. Это делается с помощью операторов деления по модулю (%). Если остаток от деления квадрата числа на 10 равен самому числу, то число подходит под условие. Список действий:
- Включение заголовочного файла stdio.h.
- Запуск цикла от 1 до 1000.
- Проверка для однозначных чисел: если число меньше или равно 10 и оно совпадает с последними цифрами своего квадрата (т.е. (i*i) % 10), то оно подходит и выводится на экран.
- Проверка для чисел от 10 до 99: если число больше 9 и оно совпадает с последними цифрами своего квадрата (т.е. (i*i) % 100), то оно подходит и выводится на экран.
- Проверка для чисел от 100 до 999: если число больше 99 и оно совпадает с последними цифрами своего квадрата (т.е. (i*i) % 1000), то оно подходит и выводится на экран.
- Цикл продолжается до тех пор, пока не будут проверены все числа от 1 до 1000.
- Возвращение 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д