九度OJ 题目1166:迭代求立方根
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1378 解决:595
http://ac.jobdu.com/problem.php?pid=1166
题目描述:
立方根的逼近迭代方程是 y(n+1) = y(n)*2/3 + x/(3*y(n)*y(n)),其中y0=x.求给定的x经过n次迭代后立方根的值。
输入:
输入有多组数据。
每组一行,输入x n。
输出:
迭代n次后的立方根,double精度,保留小数点后面六位。
样例输入:
3000000 28
样例输出:
144.224957
#include<stdio.h>
main()
{
int i, n, x;
double m;
while( scanf("%d%d",&x,&n)==2 ){
for( m=x, i=0;i<n;i++ )
m = m*2/3 + x/(3*m*m);
printf("%.6f\n",m);
}
}
九度OJ 题目1167:数组排序
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2077 解决:645
http://ac.jobdu.com/problem.php?pid=1167
题目描述:
输入一个数组的值,求出各个值从小到大排序后的次序。
输入:
输入有多组数据。
每组输入的第一个数为数组的长度n(1<=n<=10000),后面的数为数组中的值,以空格分割。
输出:
各输入的值按从小到大排列的次序(最后一个数字后面没有空格)。
样例输入:
4
-3 75 12 -3
样例输出:
1 3 2 1
#include <stdio.h>
#include <algorithm>
struct E{ int d, old, r; }a[10002]; //r=rank
bool CMP(E x, E y){return x.d<y.d;}
bool CMP2(E x, E y){return x.old<y.old;}
int main()
{
int i, j, k, m, n;
freopen("1167.txt","r",stdin);//
while( scanf("%d",&n) == 1 ){
for( i=0; i<n; i++ ){
scanf("%d",&a[i].d);
a[i].old = i;
}
std::sort(a,a+n,CMP);
a[0].r = 1;
for( i=1,j=1; i<n; i++ ){
if(a[i].d==a[i-1].d) a[i].r = j;
else a[i].r = ++j;
}
std::sort(a,a+n,CMP2);
printf("%d",a[0].r);
for( i=1; i<n; i++ )
printf(" %d",a[i].r);
puts("");
}
return 0;
}
九度OJ 题目1168:字符串的查找删除
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1451 解决:483
http://ac.jobdu.com/problem.php?pid=1168
题目描述:
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。
输入:
输入只有1组数据。
输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。
输出:
删除输入的短字符串(不区分大小写)并去掉空格,输出。
样例输入:
in
#include
int main()
{
printf(" Hi ");
}
样例输出:
#clude
tma()
{
prtf("Hi");
}
提示:
注:将字符串中的In、IN、iN、in删除。
#include <fstream>
#include <string>
#include <iostream>
using namespace std;
int main()
{
int i, n, l;
ifstream cin("jobdu_104.txt");//
string s, t;
cin >> s;
l = s.length();
//getchar();
getline(cin,t);
while( getline(cin,t) ){
n = t.find(s);
while( n != -1 ){
t.erase(n,l);
n = t.find(s);
}
n = t.length();
for( i=0; i<n; i++)
if( t[i] != ' ') cout << t[i];
cout << endl;
}
return 0;
}