|
发表于 2020-5-28 14:48:52
|
显示全部楼层
本帖最后由 XFCoding 于 2020-5-28 14:53 编辑
楼主题目没有描述清楚,我这里做的是给定两个非负整数 n,m。是否能找到非负整数x,y使得 x+y= n, x*y = m。找出这样的x和y。
不知道题主是不是这意思,
思路比较简单,迭代器i从0到n去遍历,这样肯定是满足i + (n - i) = n, 再去判断 i * (n - i)是否等于m即可。
- #include<stdio.h>
- void checkedFine(int n, int m);
- int main(){
- int n,m;
- printf("请输入n和m使用空格分隔:\n");
- scanf("%d %d",&n,&m);
- checkedFine(n,m);
- return 0;
- }
- void checkedFine(int n, int m){
-
- int count = 0;
- for(int i =0; i <= n; i++){
- if(i*(n-i) == m){
- printf("第%d对符合条件的解是:x = %d,y= %d\n",++count,i,n-i);
- }
- }
- if(count == 0){
- printf("没有符合条件的x和y\n");
- }
- }
复制代码 |
|