小代码 分解正整数

发布时间:2020-08-29 19:30:29 作者:wzdouban
来源:网络 阅读:189
 <html>
<HEAD></HEAD>

<BODY>
<h3>分解n为连续的正整数</h3>
<a href="">博客学习</a>
<textarea rows="50" cols="50"> 
 
#include <iostream>
using namespace std;
 
void fun(int m)
{
	int i,j,n,l,k=0;
	for(i=0;i<m;i++)
	{
		n=i;l=0;j=i;
			while(l<m)
			{
				l+=j;
				j++;

		}
			if(l==m)
			{
				cout<<n<<"->"<<j-1<<endl;
				k++;
			}

	}
	if(k==0)
		cout<<"NONE"<<endl;
	cout<<endl<<endl;
}
int main()
{
   	fun(20);
	return 0;
	} 

</textarea>
<textarea rows="50" cols="50">
占时还待翻译
 </textarea>
<textarea rows="50" cols="50"> 
 
#include <iostream>
using namespace std;
void  fun(int n)
{
    int i=2;
    int p=0,m=p;
    int j=0;
    while(i<=n/3)
    {
        if(i%2==0);
        if(i%2==1)
        {
            p=n/i;  
            m=p;j=i/2+1; 
            while(j--)
            {
                cout<<"+"<<p-j;
            }
            j=i/2;
            while(j--)
            {
                cout<<"+"<<++p;
            }
        }
        i++;cout<<endl;
    }
    
}
int main()
{
  
    /**
    cin 4
    cout  4=1+3
          4=2+2
           http://anycodes.cn/zh/
  今日发现 http://homepage.yesky.com/
  一个正整数可以为几个连续正整数的和 C++
    **/
    fun(20);
 
	return 0;
}
</textarea>
<textarea rows="50" cols="50">
以自己的想法写了一把  思路很清楚 但只能说能给一个解
有不对 和缺少值的情况
 </textarea>
<textarea rows="50" cols="50">

void  fun(int n)
{
    
     for(int i=1;i<n;i++)  
     {
           
       for(int j=i+1;j<n;j++)  
        {int sum=0;int k=i;
          for(k=i;k<=j;k++)
          {
              sum+=k;
          }
          if(sum==n) cout<<i<<" --------> "<<j<<endl;
         }
     }
    
}
 </textarea>
<textarea rows="50" cols="50"> 
这样的代码是正确的但是 是高复杂度的
因为j找了多次遍历
if(sum==n) {cout<<i<<" --------> "<<j<<endl;break;}
改写为这样 就接近原答案的复杂度了 感觉好理解 但都是一样的思想
</textarea>
<textarea rows="50" cols="50"> </textarea>
<textarea rows="50" cols="50"> </textarea>
<textarea rows="50" cols="50"> </textarea>
<textarea rows="50" cols="50"> </textarea>
</BODY>
</html>


推荐阅读:
  1. 线程方面的程序注意点
  2. 汉诺塔 游戏版本

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

小代码

上一篇:解决微信小程序中转换时间格式IOS不兼容的问题

下一篇:pandas 数据实现行间计算的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》