acm icpc-一道openjudge的题目问下,

问题描述

一道openjudge的题目问下,

列出完数的一个题目问下
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 1024kB
描述
自然数中,完数寥若晨星,请在从1 到某个整数范围中打印出所有的完数来。所谓“完数”是指一个数恰好等于它的所有不同因子之和。例如,6 是完数,因为6=1+2+3。而24不是完数,因为24≠ +2+3+4+6+8+12(=36)。

输入
输入数据中含有一些整数n(1
输出
对于每个整数n,输出所有不大于n 的完数。每个整数n 的输出由n 引导,跟上冒号,然后是由空格开道的一个个完数,每个n 的完数列表应占独立的一行。
样例输入
100
5000
0
样例输出
100: 6 28
5000: 6 28 496
————————————————————————————————
我写的代码一直没办法accept
————————————————————————————
#include “stdio.h”
#include "math.h"
int main()
{
long long int sum=1;
int i,j,k;
char ch;
int count=0;
long long int b[100];
for(i=1;i<=12;i++)
{
sum*=i;
}
while(scanf("%ld",&b[i])==1)
{
if((ch=getchar())==EOF)
{
break;
}
i++;
}
for(j=0;j<i;j++)
for(k=j+1;k<i;k++)
{
if(b[k]*b[j]==sum)
{
count++;
}

}
printf("%d",count);
return 0;
}——————————————————————
不知道怎么改好。。。
题目网址。。
——————————————
http://jmu.openjudge.cn/stl/T2/
——————————————————————

解决方案

 #include <cstdlib>
#include <iostream>
#include <vector>
#include <cstdio>

using namespace std;

const int MAX = 10000;

int main(int argc, char *argv[])
{
    vector<int> vec;

    for(int i=2; i<MAX; i++)
    {
        int sum = 0;

        for(int j=1; j<=i/2; j++)
        {
            if(i % j ==0)
                sum += j;
        }

        if(sum == i)
            vec.push_back(i);
    }

    int n;
    while(cin >> n)
    {
        cout << n <<":";
        int count = vec.size();

        for(int i=0; i<count; i++)
        {
            if(vec[i] <= n)
                cout << " " << vec[i];
            else
                break;
        }

        cout << endl;
    }

    return EXIT_SUCCESS;
}

解决方案二:

http://zhidao.baidu.com/link?url=n_Hsh1ZbEHwjcjUrjGRPZkfcz-6I00yqFQSDXLzsp8x7is6X3Z7a44JYD5s79DStnQBYt9paMhLzFJE7Z49Fka

解决方案三:

UVA - 10859 Placing Lampposts (蛮好的一道题目)
关于Notify() wait()的一道面试题目

时间: 2024-12-05 22:56:09

acm icpc-一道openjudge的题目问下,的相关文章

acm icpc-一个acm题目问下,应该不会很难,但是么做出来

问题描述 一个acm题目问下,应该不会很难,但是么做出来 发票统计 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 有一个小型的报账系统,它有如下功能: (1)统计每个人所报发票的总钱数 (2)统计每类发票的总钱数 将此系统简化为如下:假设发票类别共有A.B.C三种;一共有三个人,ID分别为1.2.3. 输入 系统输入包含三行,每行第一个数为人员ID(整型,1或2或3),第二个数为发票总张数(张数不超过100),之后是多个发票类别(字符型,A或B或C)和相应

acm icpc-一个大整数乘法的acm题目问下,可以得话给个代码,谢谢了,想了挺久,没做出来

问题描述 一个大整数乘法的acm题目问下,可以得话给个代码,谢谢了,想了挺久,没做出来 T4:两两相乘的积为12!的个数 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65535kB 描述 找出输入数据中所有两两相乘的积为12!的个数. 输入 输入数据中含有一些整数n(1≤n< 2^32 ). 输出 输出所有两两相乘的积为12!的个数. 样例输入 1 10000 159667200 9696 38373635 1000000 479001600 3 1 479001600 样例

问一道acm题目,下楼梯递归的

问题描述 问一道acm题目,下楼梯递归的 下楼梯查看 提交 统计 提问总时间限制: 1000ms 内存限制: 1000kB描述从楼上走到楼下共有h个台阶,每一步有3种走法:走1个台阶,走2个台阶,走3个台阶.问可走出多少种方案,并打印出具体方案?输入台阶个数h输出各种走法方案及总方案个数样例输入5样例输出plan 1:32plan 2:311plan 3:23plan 4:221plan 5:212plan 6:2111plan 7:131plan 8:122plan 9:1211plan 10

一道acm练习题目,发票统计的题目,怎么把整数弄成单精度的没想明白?问下

问题描述 一道acm练习题目,发票统计的题目,怎么把整数弄成单精度的没想明白?问下 发票统计 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 有一个小型的报账系统,它有如下功能: (1)统计每个人所报发票的总钱数 (2)统计每类发票的总钱数 将此系统简化为如下:假设发票类别共有A.B.C三种;一共有三个人,ID分别为1.2.3. 输入 系统输入包含三行,每行第一个数为人员ID(整型,1或2或3),第二个数为发票总张数(张数不超过100),之后是多个发票类别(

皇后控制问题 acm问题问下

问题描述 皇后控制问题 acm问题问下 皇后控制问题 查看 提交 统计 提问 总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 128000kB 描述 在一个n×n个方格组成的棋盘上的任一方格中放置一个皇后,该皇后可以控制他所在的行,列以及对角线上的所有方格.对于给定的自然数n,在n×n个方格组成的棋盘上最少要放置多少个皇后才能控制棋盘上的所有方格,且放置的皇后互不攻击? 编程任务:设计一个算法,对于给定的自然数n (1≤n≤100)计算在n×n个方格组成的棋盘上最少

c-八皇后问下 ,算法题目

问题描述 八皇后问下 ,算法题目 帮忙看下这个八皇后的错哪里了 #include int nodanger(int row,int n,int (*a)[8]) { int i; int k,flag1=0,flag2=0,flag3=0,flag4=0,flag5=0; //列 5个flag判断5个方向有没有危险 for( i=0; i { if (*(*(a+i)+n)!=0) { flag1=1; break; } } //左上 for(i=row,k=n;i>0&&k>

c++-能问下我的这个程序为什么运行时间超出了么(关于把一串字符位置颠倒)

问题描述 能问下我的这个程序为什么运行时间超出了么(关于把一串字符位置颠倒) #include #include #include using namespace std; int main() { char c[300],a[300]; int b,d=0; int i,k,j,t,len; cin>>b; getchar();//将回车键拿掉 while(b--) { gets(c) ; len=strlen(c); for(i=0,j=0,t=0;i { if(c[i]!=' ')a[j

HDU4292 网络流 2012 ACM/ICPC Asia Regional Chengdu Online1005

                                   Food                                          Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)                                                             Total Submission(s): 555 Acc

杭电 acm 2039 ( 三角形 )判断这样用问什么会通不过呢?哪位大神讲讲正确的用法

问题描述 杭电 acm 2039 ( 三角形 )判断这样用问什么会通不过呢?哪位大神讲讲正确的用法 三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 28002 Accepted Submission(s): 9138 Problem Description 给定三条边,请你判断一下能不能组成一个三角形. Input 输入数据第一行包含