| 
 | 
 
 
发表于 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");
 
 -         }
 
 - }
 
  复制代码 |   
 
 
 
 |