回 帖 发 新 帖 刷新版面

主题:[讨论]求助一道难题,如有高手请回答,加30分!!

把1个数分成任意几个数相乘之和(交换数字位置不算)[程序越短越好!!]

回复列表 (共18个回复)

11 楼

=晚上帮你解
                                1
                               121
                              12321
                             1234321
                            123454321
                           12345654321
                          1234567654321
                         123456787654321
                        12345678987654321

12 楼

分解质因数很简单呀

13 楼

[quote]
我有一题不会,希望大家来帮忙!!!
题目:

                                1
                               121
                              12321
                             1234321
                            123454321
                           12345654321
                          1234567654321
                         123456787654321
                        12345678987654321
[em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][/quote]
不好意思,我只会c++。
#include<iostream.h>
int main()
{
    for(int i=1;i<=9;i++)
    {
        for(int j=9-i;j>0;j--){
            cout<<" ";
        }
        for(int k=1;k<=i;k++){
            cout<<k;
        }
        for(int m=i-1;m>0;m--){
            cout<<m;
            //cout<<m<<endl;
        }
        cout<<endl;
    }
    return 0;
}
那位高人能提供一点学习p的资料啊
万分感谢!!

14 楼

可以用2除,不用3,4,5,6,7.................

15 楼

....pascal有开方的函数么?
对n 开方去取整  得到  i
循环j= 1  to i
然后判断 n/j是不是整数
如果是那就输出   j 和  n/j

16 楼

var 
i,j,n:integer
begin
read(n);
for j=1 to int(sqr(n)) do
if n/j=n\j then writeln(j,"*",n/j);
end.

可能有语法错误呢
呵呵

17 楼

3楼的根本不是pascal,我看中间还有一些C的语句。
如:int t=1;
t++
都是C的语句

18 楼

[size=4]求200以内的自然数的质因数
const n=200; 
var i,p,q,j:integer; 
begin 
for i:=2 to n do 
begin 
q:=1; 
repeat 
q:=q+1; 
p:=i mod q; 
until p=0; 
j:=i div q; 
write (i,'=',q); 
q:=1; 
while j>q do begin 
q:=1; 
repeat 
q:=q+1; 
p:=j mod q; 
until p=0; 
j:=j div q; 
write ('*',q); 
if j=q then write ('*',q); 
end; 
writeln; 
end; 
readln 
end. [/size]

我来回复

您尚未登录,请登录后再回复。点此登录或注册