C++中关于1个人的投资何时会超过另一个人的编程题目

Daphne以10%的单利投资了100元。(利息=0.10X原始存款)
Cleo以5%的复利投资了100元(利息=0.05X当前存款)
问:Cleo的投资价第几年(int n)时能超过Daphne的?

下面是我编写的程序,但是不知知道为什么错了,那个循环条件不知道为何不起作用就循环对比了1次,小弟新手实在想不出,请各位前辈帮我把程序照着我的源程序改对,谢谢你们~!
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
int n=0,i=0,j=0;
unsigned long double sum=0,sum1,add=100;
while(sum1<add)
{cout<<" Now: "<<sum1<<" and "<<add<<endl;
sum=(0.1*100*++i);
sum1=sum+100;
add=0.05*add+add;
n++;
};
cout.setf(ios_base::fixed,ios_base::floatfield);
cout<<"unit: "<<n<<" Cloe = "<<add<<" > Daphne = "<<sum1<<endl;
return 0;
}
2楼答案不对~

摩根定律:
所谓加法关系a+b中的素数分布问题,是指,任意充分大的正整数M表为两个正整数之和时,其表为两个奇素数之和的个数问题。由于当x→∞时,加法关系只能赋予∞+∞=2∞之极限。所以,研究加法关系a+b中的素数分布问题,只能在区间(0,2∞)之间进行。则有:

2∞=1+(2∞-1)=2+(2∞-2)=...=∞+∞显然,在加法关系a+b中,当a→∞时,则b只能以超越自然数的∞+1、∞+2、...、∞+n、...等共尾序数的形式表之。所以,在加法关系a+b中,其基数已超出了自然数集N的基数。归纳给定了的M之加法关系a+b中的元素为集合G,与自然数集N一样,集合G中的元素,具有①传递性。②三岐性。③对于每一元素a+b,只要它位于区间(1,∞)之内,它就一定是一后继数。④良基性。所以,加法关系a+b是符合外延公理及正则公理,因为在无穷集合G的元素中的b之值,本来就是自然数的延伸而已。

对无穷集合G进行良序化,应用埃拉托色尼筛法显然是不行的。因为埃拉托色尼筛法只是针对自然数列而为,其p=x-H只适用于所考察的元素只具一个自然数之性质。在自然数列中,筛掉任何一个自然数,并不会影响其它自然数的存在。但是,在加法关系a+b中则不然,因为集合G中的元素是由两个自然数之和所组成,筛掉任何一个自然数,势必会影响另一个自然数的存在与否。由量变到质变,在自然数列中所得到的规律并不适宜应用于加法关系a+b中。

考察加法关系a+b中两个正整数之和的有关素数或合数的性质,有:素数加素数、素数加合数、合数加合数这三大类情况(此处将与1相加之情况排除在外)。所以,在集合G中,根据完备性原则,有:

素数加素数=G-素数加合数-合数加合数用符号表之,有

p(1,1)=G-{(p,H)+H(1,1)}此式即是集合论中著名的摩根定律:A~∩B~=(A∪B)~应用于加法关系a+b中的素数分布问题的求解方法。

因为在加法关系a+b中,设M为所取之值,则集合G中有元素M=1+(M-1)=2+(M-2)=...=M/2+M/2共有M/2个。将摩根定律应用于加法关系a+b中:设在区间(1,M/2]中,凡具有合数性质的元素a+b被归纳为集合A;再设在区间[M/2,M)中,凡具有合数性质的a+b被归纳为集合B;则有A∪B=(p,H)+H(1,1)以及

(A∪B)~=G-(p,H)-H(1,1)而集合A的补集A~为区间(1,M/2]中,凡具有素数性质的元素之集合;集合B的补集B~为区间[M/2,M)中,凡具有素数性质的元素之集合。所以,有A~∩B~=p(1,1)

综合以上所述,有

A~∩B~=p(1,1)=G-(p,H)-H(1,1)=(A∪B)~摩根定律所讲述的就是区域内具有两个以上集合时的完备性问题,对于加法关系a+b而言,由于元素只是两个自然数之和,所以并不需要拓展摩根定律,用最简单的形式:A~∩B~=(A∪B)~,就可以了。

既然是加法关系,也就必须应用加法环中的公式。当设定M为所取之值时,根据唯一分解定理:

M=(p_i)^α*(p_j)^β*...*(p_k)^γ有

M=np=(n-m)p+mp 从此公式中可知,凡是具有M的素约数的合数,总是与另一具有M的素约数的合数相加于同一元素之中。由唯一分解定理所确定的a+b,我们将其谓之为特征值。由于p的倍数总是在同一元素中相加,所以,每隔p之值,就会出现一个p的倍数相加之元素。故在M=a+b中,特征值p的倍数有出现概率1/p,则与之互素的元素有出现概率为(1-1/p)。

另外,根据剩余类环

M=nq+r=(n-m)q+mq+r之公式中可知,凡不是M的素约数的素数q的倍数,总是不能与具有素约数q的合数相加在同一元素之中,r是它们相差之位。为区别于特征值,我们根据其由剩余类环而求得的,将其谓之为剩余值。由于r<q,所以,每隔q之值,会出现两个具有素约数q的元素,一个在a中,一个在b中。故在M=a+b中,剩余值q的倍数有出现概率2/q,则与之互素的元素有出现概率为(1-2/q)。

对于与特征值p互素的系数(1-1/p),由欧拉函数ψ(N)中可知,特征值p中的系数是可积函数:M/2{∏p|M}(1-1/p)。那么,对于剩余值q的系数是否也是可积函数?由于与剩余值互素的系数(1-2/q),以前并无人涉及,是鄙人之首创,故必须对其是否为可积函数的性质作些论证。

设N=nq+r=(n-m)q+mq+r,化mq+r成为p的倍数,即mq+r=kp,可知,“q不能整除kp,那么,(q-1)个数:p、2p、...、(q-1)p分别同余1到q-1,并且对模q互不同余:{k_1}p≠{k_2}p(mod q)”(费马小定理)。由于k<q,因此,在M=a+b中与q的倍数相加于同一元素中的p之倍数,起始于M=(n-m)q+kp,不断地加减pq,则有M=(n-m-ip)q+(k+iq)p;1≤i≤M/pq乃是每隔pq之数值而出现一次。

因此,在M=a+b中,q的倍数与p互素不仅须对(n-m)q自身中具p之素因数的元素进行筛除,而且还须对与之构成元素对mq+r=kp的合数中具p之素因数的合数进行筛除。因此在M=a+b中,由q之倍数而构成的元素a+b中,与p互素的个数是M/q(1-2/p)。

在M=a+b中,如果p⊥M,q⊥M (其中,符号⊥表示不整除),则与p,q互素的元素a+b分别有:M/2(1-2/p),M/2(1-2/q),而与p,q互素的元素a+b在总体上有:

M/2(1-2/p)-M/q(1-2/p)=(M/2-M/q)(1-2/p)=M/2(1-2/p)(1-2/q)可知,在M=a+b中,对于剩余值的系数也是可积函数。换言之,在M=a+b中,与不大于√M的素数互素的系数,用逐步淘汰原则进行计算,不管是特征值抑或是剩余值,均是可积函数。

通过分析,获知在M=a+b中,无论是特征值或非特征值,都是可积函数。因此在M=a+b中,与小于√M的素数互素的个数有:

P(1,1)=M/2{∏p|M}(1-1/p){∏p⊥M}(1-2/p)此公式就是加法关系a+b中的一般之解。从公式的系数中可以清晰地看到摩根定律所起的作用:用不大于√M的素数作筛子,对于是M的素约数的素数之倍数,筛除的系数是(1-1/p);对于非M的素约数的素数之倍数,筛除的系数是(1-2/p)。

当M为奇数时,由于素数2不是特征值,从剩余值的系数中可知,因存在着零因子:(1-2/2)=0,所以当M为奇数时表为两个奇素数之和的个数为零。

由此可知,在加法关系a+b中,欲求p(1,1)的个数,M之值必须是偶数,即素数2必须是特征值,才能获得p(1,1)之个数。从(1-1/p)>(1-2/p)中可知,若存在其它不大于√M的素数为特征值时,则系数不可能是最小的。因此,只有当M=2^n时,才会有最小值的系数,而且p(1,1)=M/4∏(1-2/p)=M/4∏({p-2}/p),p>2(1)只有当乘积是无穷时,系数才会达到最小之值。

根据自然数列中素数之值依位序列而言,由于合数的存在,相邻的两个素数之值的差有大于2的,至少是不小于2,因此有(p_n)-2≥(p_{n-1}),(2)将不等式(2)的结论代入到(1)式中,用后一因式的分子与前一因式的分母相约,并保留所谓的最后因式的分母,我们可以获得p(1,1)≥M/4(1/p)≥M/4(1/√M)=√M/4,当M→∞时,有√M/4→∞。换言之,在大偶数表为两个奇素数之和中,其个数不会少于√M/4个。所以,设M为偶数时,就是欲称哥德巴赫猜想,当a→∞时,哥德巴赫猜想是为真。

由于所求的一般之解是设M为无穷大时求得的,因此,当M为有限值时,会产生一定值的误差。纵然如此,系数也是能很好地反映出大偶数表为两个奇素数之和的规律。因为从系数上分析:对于具相同特征值的M,M越大,p(1,1)的个数越多:p(1,1)≥Lim(√N/4)→∞。

对于不同特征值的N,特征值越小,p(1,1)的个数越多:若p<q ,则(1-1/p)(1-2/q)>(1-1/q)(1-2/p)。

特征值越多,p(1,1)的个数也越多:

(1-1/p)>(1-2/p)。

当然,这三个因素必须有机地结合起来,才能如实地反映p(1,1)的个数。

关于H(1,1)中具有相同的出现概率却互不相交的剩余类值的诸子集,有:

φ,H(f,e),H(g,e),...,H(α,e),H(β,e),H(γ,e),...

H(e,f),φ,H(g,f),...,H(α,f),H(β,f),H(γ,f),...

H(e,g),H(f,g),φ,...,H(α,g),H(β,g),H(γ,G),...

......

H(e,α),H(f,α),H(g,α),...,φ,H(β,α),H(γ,α),...

H(e,β),H(f,β),H(g,β),...,H(α,β),φ,H(γ,β),...

H(e,γ),H(f,γ),H(g,γ),...,H(α,γ),H(β,γ),φ,...

其中e<f<g<...<α<β<γ∈W≤√N。我们对以上诸子集进行商集化分割,不失一般性,设有子集H(β,α),由于H(α,x)∩H(x,α)=φ,显然有H(α,e)∩H(β,α)=φ,H(α,f)∩H(β,α)=φ,H(α,g)∩H(β,α)=φ,...,H(α,β)∩H(β,α)=φH(e,β)∩H(β,α)=φ,H(f,β)∩H(β,α)=φ,H(g,β)∩H(β,α)=φ,...,H(α,β)∩H(β,α)=φ除处以外,其它的诸子集与H(β,α)显然有交集:

H(f,e)∩H(β,α)=H(fβ,eα),H(g,e)∩H(β,α)=H(gβ,eα),...,H(β,e)∩H(β,α)=H(β,eα)...等。但是对于诸非同模类的子集之交,我们有:

H(fβ,eα)∈H(β,eα),H(gβ,eα)∈H(β,eα),...�由子集的包含性,可知此类子集之交已被同模类的子集之交所包涵,因此可以直接删掉。(因找不到包含符号,故用属于∈代之)。

于是,在分割子集H(β,α)的元素时,可以按子集H(β,α)所在行列的方向上与诸同模的子集进行商集化的分割。

从行的方向而言,有诸子集H(e,α),H(f,α),H(g,α),...等与其有交集:

H(e,α)∩H(β,α)=H(eβ,α),H(f,α)∩H(β,α)=H(fβ,α),H(g,α)∩H(β,α)=H(gβ,α),...。

从列的方向而言,有诸子集H(β,e),H(β,f),H(β,g),...等与其有交集:

H(β,e)∩H(β,α)=H(β,eα),H(β,f)∩H(β,α)=H(β,fα),H(β,g)∩H(β,α)=H(β,gα),...。

但由于在行与列两方向上存在有不相交的子集:

H(e,α)∩H(β,e)=φ,H(f,α)∩H(β,f)=φ,H(g,α)∩H(β,g)=φ,...。因而在与H(β,α)的交集中产生了不相交的平行子集:

H(eβ,α)∩H(β,eα)=φ,H(fβ,α)∩H(β,fα)=φ,H(gβ,α)∩H(β,gα)=φ,...。所谓不相交的平行子集乃指诸互不相交的子集在出现概率的数值上是相同的。

但是对于诸非平行的子集,显然有:

H(eβ,α)∩H(fβ,α)=H(efβ,α),H(β,eα)∩H(fβ,α)=H(fβ,eα),H(eβ,α)∩H(β,fα)=H(eβ,fα),H(β,eα)∩H(β,fα)=H(β,efα)...等交集。从而又产生了诸互不相交的平行子集:

H(efβ,α)∩H(fβ,eα)=φ,H(efβ,α)∩H(eβ,fα)=φ,...。

根据行与列两方向上所存在的不相交子集的几何性质,可知对于诸不相交的平行子集的数目,按几何等级2^n构成。

综上所述,在对子集H(β,α)作商集化分割时,由于存在有互不相交的平行子集,显然现行的逐步淘汰原则已不再适用于计算这样的商集化子集(否则将十分繁琐),必须寻找新的方法。

由于诸互不相交的平行子集在出现概率的数值上是相同的,因此我们可以将诸互不相交的平行子集以同一符号表之,而在其旁配以系数表示诸互不相交的平行子集的数目。因诸互不相交的平行子集属于且仅属于某一商集化子集,所以系数对于该子集中的元素并不产生影响,而逐步淘汰原则恰能作用于该元素上。如此而为,可保持逐步淘汰原则的一般形式。于是,对于位于对角线右上方的诸商集化子集可以有类似于逐步淘汰原则的计算方法:

H(f,e),H(g,e)-H(fg,e),H(h,e)-H(fh,e)-H(gh,e)+H(fgh,e),...。

----H(g,f)-2H(eg,f),H(h,f)-2H(eh,f)-H(gh,f)+2H(egh,f),...。

------------H(h,g)-2H(eh,g)-2H(fh,g)+4H(efh,g),...。

-------------......

以上诸字母e,f,g,...等皆代表为不大于√N且非M的素约数的素数。

设p_1<p_2<...<p_t∈W≤√N,且位于对角线右上方的第n行第m列的子集是H(p_m,p_n),且有n<m。从行的方向而言,有m-2个子集与其有交集,从列的方向而言,有n-1个子集与其有交集。由于n<m,可知n-1≤m-2,因而所产生的诸不相交的平行子集的个数最多为2^(n-1)个。

从类似逐步淘汰原则的表中寻找出第n行第m列方法中进行商集化分割,可以有如下的计算方法:

π{H(p_m,p_n)}/(N/2)=(1/{p_n}{p_m}){1-({n-1∑i=1}(2/p_i)+{m-1∑i=n+1}(1/p_i))+({∑1≤i<j<n}(4/{p_i}{p_j})+{∑1≤i<n,n<j≤m-1}(2/{p_i}{p_j})+{∑n<i<j≤m-1}(1/{p_i}{p_j}))-...+(-1)^{m-2}(2^{n-1}/{p_1}{p_2}...{p_(n-1)}{p_(n+1)}...{p_(m-1)})}=(1/{p_n}{p_m})(1-2/p_1)(1-2/p_2)...(1-2/p_{n-1})(1-1/p_{n+1})...(1-1/p_{m-1})=(1/{p_n}{p_m}){n-1∏i=1}(1-2/p_i){m-1∏i=n+1}(1-1/p_i).

由于H(p_m,p_n)与H(p_n,p_m)的元素之个数上是相同的,且商集化的对象在数值上也是相同的,显然,位于对角线右上方的诸商集化子集的出现概率之总和等于位于对角线左下方的诸商集化子集的出现概率之总和。因此,我们只要对n<m时的诸商集化子集求出现概率,将求得的总和之值乘以2就可。

显然,集合中的元素由几个自然数所构成,不同的数量有不同的筛选法,不能等同视之。π(x)函数筛选的是自然数列,并不能用于加法关系a+b中的筛选。

用摩根定律来解加法关系a+b中的素数分布问题,本是一项十分简单的事,与埃拉托色尼筛法一样,只要应用否定之否定法则,就可求之。诚然,与埃拉托色尼筛法相比,加法关系a+b中的素数分布问题,难度确比自然数列中求素数的个数难了一些。但只要懂得由量变到质变,按照规律办事,所谓的难度也就迎刃而解了。因为无论是自然数列中素数分布问题,抑或加法关系a+b中的素数分布问题,都是有序集合中的问题,而有序集合的规律性为之提供了必要且充分的方法来求解。只要我们充分注意到所求集合的完备性,解题的方法即呈面前。

根据加法关系a+b的有序集合,从有关的加法的公式:x=np=(n-m)p+mp和x=np+r=(n-m)p+mp+r中进行分析,可以很简便地写出加法关系a+b的良序化之链。但由于获得的一般之解中,包含了无穷多个特殊之解,所以,只能列举少许的特殊之解来阐述。

当M取值为奇数时,由于存在着零因子,所以无论其特征值是什么?在良序化之链中,总有:2=2<...之标识。以最小素约数来归纳,所有的自然数都被这两个不相交的商集化集合所归纳,故而有p(1,1)=0。

设M=2^n,此时只有唯一的素数2为特征值,所以,其良序化之链的标识是:

2<3=3<5=5<7=7<11=11<13=13<...

为偏序的,其p(1,1)的出现概率是p(1,1)/(M/2)=1/2∏(1-2/p),p>2。

综上所述,可知,所谓的大偶数表为两个奇素数之和的个数,仅仅是用选择公理来归纳按最小素约数为条件的加法关系a+b中的不可归纳的最小元素而已。

但是,目前的数论,并不是按照规律性的东西来办事,相反,欲以某些莫须有的东西来混淆。以陈氏定理为例,陈景润先生在其论文的开头言道:

【命P_x(1,2)为适合下列条件的素数p的个数:

x-p=p_1或x-p=(p_2)*(p_3)其中p_1,p_2,p_3都是素数。

用x表一充分大的偶数。

命Cx={∏p|x,p>2}(p-1)/(p-2){∏p>2}(1-1/(p-1)^2)对于任意给定的偶数h及充分大的x,用xh(1,2)表示满足下面条件的素数p的个数:

p≤x,p+h=p_1或h+p=(p_2)*(p_3),其中p_1,p_2,p_3都是素数。

本文的目的在于证明并改进作者在文献〔10〕内所提及的全部结果,现在详述如下。】显然,x-p=p_1或x-p=(p_2)*(p_3)是其研究哥德巴赫猜想时的前提。而Cx的表达式,只是说明其所用的方法乃是解析数论的方法,以通常研究哥德巴赫猜想时的工具而为之。

简短的开场白若不细加分析,很难发现有什么谬误而被疏忽。然而,正是这样的疏忽,导致陈氏定理可以从莫须有的情况下发挥出称誉数学界的一条定理。让我们细析陈氏定理的前提x-p,将适合该条件的自然数作一番考察(注意并非是对适合该条件的素数p进行考察,适合条件的素数p的考察是陈景润先生在进行)。

用x表一充分大的偶数,且将自然数列中的素数p按序列出为:

p=2,3,5,7,11,13,17,19,23,...。

则x-p之数列为:

x-p=x-2,x-3,x-5,x-7,x-11,x-13,x-17,x-19,x-23,...。

若以给定的偶数h来叙述,设h=50,则h-p的数列为:

50-p=48,47,45,43,39,37,33,31,27,...。

设h=52,则h-p的数列为:

52-p=50,49,47,45,41,39,35,33,29,...。

设h=54,则h-p的数列为:

54-p=52,51,49,47,43,41,37,35,31,...。

...等等。

对x-p抑或h-p之自然数进行考察,已十分明确地告诉了我们,所考察的自然数呈现的并非是等差的数列,而且所考察的自然数随偶数之值的不同而不同(即在此所谓的数列中出现的自然数而在彼数列中并不一定会出现)。换言之,在x-p的自然数之排列中,无法确定究竟会出现什么样的自然数,故而x-p是一些没有一定规则的自然数之堆积。在这不确定的自然数之堆积中,连究竟会出现什么样的自然数都无法知道,那么,怎样来确定该自然数是素数抑或是合数呢?显然,陈景润先生所设定的:“命P_x(1,2)为适合下列条件的素数p的个数:x-p=p_1或x-p=(p_2)*(p_3)”乃是无的放矢,仅凭想象而作的假设,根本就不曾进行过实践的考察。

从对x-p的不规则的自然数的堆积中进行考察后得知,该堆积并非是等差的数列。但在数论中,所谓的研究哥德巴赫猜想的工具,却是一个专门研究等差数列的。用学术权威自己的话来说:

【对等差数列中素数分布的研究是一个十分困难但又非常重要的问题,它是研究哥德巴赫猜测的基本工具。若我们用π(x;k,l)表示在等差数列l+kn中不超过x的素数个数,则已证明了下面的定理:

定理3.3若k≤log^20x,则有π(x;k,l)={Lix/ψ(x)}+o{xe^(-c(logx^1/2)).(3.53)这里ψ(k)为欧拉函数,c为一正常数。

定理3.3是解析数论中一个重要的定理,它是经过了许多数学家的努力才得到的,是我们研究哥德巴赫猜测的基本定理。由于定理的证明要用到极为深刻的解析方法,我们在这里就不再给出它们的证明了。

注:这儿的条件k≤log^20x,仅是为了叙述方便,事实上当k≤log^A x时定理亦成立,其中A为一任意固定的正常数。】见潘承洞教授著《素数分布与哥德巴赫猜想》第65页。

由此可知,陈氏定理中的Cx所采用的解析数论,只是对等差数列可以发挥作用,而对x-p此类非等差的不确定之数堆毫无用处(任何方法对于x-p此类的不定数堆都是无用的)。陈景润先生在谬误的前提下所研究出来的定理,能是正确的吗?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-20
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
int n=0,i=0,j=0;
unsigned long double sum=100,sum1,add=100;
while(sum1<add)
{cout<<" Now: "<<sum1<<" and "<<add<<endl;
sum1+=sum*0.1;
add=0.05*add+add;
n++;
};
cout.setf(ios_base::fixed,ios_base::floatfield);
cout<<"unit: "<<n<<" Cloe = "<<add<<" > Daphne = "<<sum1<<endl;
return 0;
}

我没调试过。LZ的循环,第一年Cloe的利息是10,第二年是20,第三年是30......
第2个回答  2008-07-22
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
int n=0;
double Daphne=100,Cleo=100;
while(Cleo<=Daphne)
{cout<<n++<<" Now: "<<Daphne<<" and "<<Cleo<<endl;
Cleo*=1.05;
Daphne+=0.1*100;
};
cout.setf(ios_base::fixed,ios_base::floatfield);
cout<<"unit: "<<n<<" Cloe = "<<Cleo<<" > Daphne = "<<Daphne<<endl;

return 0;
}本回答被提问者采纳
相似回答