函数问题2

23 篇文章 0 订阅
7 篇文章 0 订阅

函数问题2

这是基于问题1的情况下进行的难度增加问题
题目
小Z家住在一条短胡同里,这条胡同的门牌号从 1 开始顺序编号。

 若其余各家的门牌号之和减去小Z家门牌号的两倍,恰好等于n,求小Z家的门牌号及总共有多少家。(有多解的情况下输出总家庭数最少的方案,题目肯定有解)

输入
一个正整数T(10<=T<=1000),表示一共有T组询问
接下来T行,每行一个整数n(0 < n < 100000)
输出
输出一共T行,每行两个整数a b(用空格隔开,表示小Z家的门牌号及总共有多少家,有多解的情况下输出总家庭数最少的方案)

思路
这是一道数学题目,我们需要知道所有的门牌号的结果数字并判定是否等于n,我们可以先创建一个有返回值的函数int之后用这个函数得到我们想要的数字从而求出结果

代码

#include<bits/stdc++.h> 
using namespace std;
  void fun(int n)
  {
  	 int y=1,t;
  	 while(1)
  	 {
  	    t=y*(y+1)-2*n;
  	    if(t>0&&t%6==0)
  	    {
  	    	cout<<t/6<<" "<<y<<endl;
			return; 
  	    }
  	    y++;
  	 }
  }
int main()
{
  int t,n;
  cin>>t;
  for(int i=1;i<=t;i++)
  {
  	 cin>>n;
  	 fun(n);
  }
  return 0;
}	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值