怎么样自己做企业网站,知名网站建设是哪家便宜,东莞网络推广哪家公司好,网站建设丿金手指谷哥14求最小公倍数 思路#xff1a;假设两个数#xff0c;5和7#xff0c;那么最小至少也要7吧#xff0c;所以先假定最小公倍数是两个数之间较大的#xff0c;然后看7能不能同时整除5和7#xff0c;不能就加1继续除
int GetLCM(int _num1, int _num2)
{int max _num1_n…求最小公倍数 思路假设两个数5和7那么最小至少也要7吧所以先假定最小公倍数是两个数之间较大的然后看7能不能同时整除5和7不能就加1继续除
int GetLCM(int _num1, int _num2)
{int max _num1_num2 ? _num1 : _num2;while (1){//证明能同时整除if (!(max%_num1) !(max%_num2)) return max;else max;}
}int main()
{//输入两个正整数int num1, num2;scanf(%d %d, num1, num2);printf(%d\n, GetLCM(num1, num2));return 0;
}
上面的方法效率太低需要优化
思路a*i % b 看看能不能整除能就a*i是最小公倍数不能就i
int main()
{//输入两个数int a, b;scanf(%d %d, a, b);//判断int i 1;while (a*i % b) i;printf(%d\n, a*i);return 0;
} 倒置字符串 思路1. scanf这个函数它读到空格它就不读了所以我们要这样写scanf(%[^\n]s)它的意思是往后读一直读到\n。 2. 先把整个字符串倒置再将每个单词倒置
void reverse(char* start, char* end)
{char tmp;while (start end){tmp *start;*start *end;*end tmp;start;end--;}
}int main() {char arr[100];scanf(%[^\n]s, arr);int len strlen(arr);char* start arr;char* end start (len - 1);reverse(start, end); //倒置整个数组start arr;end arr;while (*end){while (*end ! *end ! \0){end;}reverse(start, end - 1);start end 1;}printf(%s\n, arr);return 0;
} 解析3和2都是整数所以3/2等于1