a,输入一个整数如2,输入项数如4,计算下式的值:2+22+222+2222(如输入的是
和2 则计算的是 3+33)b,一篮子鸡蛋 数目除2余1,除3余2,除4余3,除5余4 问有多少个c,一个数的个位是8(如128),将8移到首位(变成812)后将是原来的4倍,编
程求这个数(最小值)d,A、B、C、D、E、F、G分别代表 1000、500、100、50、5、1,给定一个字符串
如 ABC,求出它的值(ABC=1000+500+100)第一题算出来了 第2题 用程序怎么不会写...第3题... 答案求不出... 第4题 好象要类型强制转换求吧.. 求程序源码 谁给算算啊...答案出来就结贴
和2 则计算的是 3+33)b,一篮子鸡蛋 数目除2余1,除3余2,除4余3,除5余4 问有多少个c,一个数的个位是8(如128),将8移到首位(变成812)后将是原来的4倍,编
程求这个数(最小值)d,A、B、C、D、E、F、G分别代表 1000、500、100、50、5、1,给定一个字符串
如 ABC,求出它的值(ABC=1000+500+100)第一题算出来了 第2题 用程序怎么不会写...第3题... 答案求不出... 第4题 好象要类型强制转换求吧.. 求程序源码 谁给算算啊...答案出来就结贴
private Int64 getSum(int data, int num)
{
Int64 i64 = 0;
for (int i = 1; i <= num; i++)
{
i64 += Int64.Parse(data.ToString().PadRight(i, data.ToString().ToCharArray()[0]));
}
return i64;
}
private int getEggNum(int tatol)
{
int egg = 0;
for (int i = 0; i < tatol; i++)
{ if (i % 2 == 1 && i % 3 == 2 && i % 4 == 3 && i % 5 == 4)
{
egg = i;
i = i + tatol;
}
}
return egg;
}
利用HastTable
A 1000
B 500
C 100
D 50
E 10
F 5
G 1对于给定字符串每一位依次取出,然后在HashTable找出其对应的值 求和累计 就行
{
int min = 0;
for (int i = 1; i < total; i++)
{
if (i.ToString().LastIndexOf('8') == (i.ToString().Length-1) && i * 4 == int.Parse("8" + i.ToString().TrimEnd('8')))
{
min = i;
i = i + total;
}
}
return min;
}
程求这个数(最小值)int getRequireValue()
{
int l=0;
int tempN;
for(int n=18;n<Int.MaxValue;n=n+10)
{
tempN=8;
l=n.tostring().length;
for(int i=1;i<l;i++)
{
tempN*=10;
}
tempN+=n%10;
if(tempN/n==4)
{
return n;
}
}
returen 0;
}
程求这个数(最小值)for (int i = 18; ; i += 10)
{
int j = i / 10 + 8 * (int)Math.Pow(10, (int)Math.Log10(i));
if ((double)j / 4 == i)
{
Console.WriteLine(i); //205128
break;
}
}
for (int i = 1; ; i++)
{
if (i % 2 == 1 &&
i % 3 == 2 &&
i % 4 == 3 &&
i % 5 == 4)
{
Console.WriteLine(i); //59
break;
}
}
string chars = "ABCDEFG";
int[] numbers = new int[] { 1000, 500, 100, 50, 5, 1 };
string S = "ABC";
int sum = 0;
foreach(char c in S)
{
int i = chars.IndexOf(c);
if (i < 0) break;
sum += numbers[i];
}
Console.WriteLine(sum); // 1600
先用一个数组来保存输入的字母A,B,C,D..
再用一个数组来保存和字母相对应的值500,100,200
然后输入的字母再和数组中的字母相比。求出所以位置,再从数据数据中取得相对应的值相加即可
现在没写时间写只能提供思路
和2 则计算的是 3+33)int A = 2;
int B = 4;
int sum = 0;
int X = A;
for (int i = 1; i <= B; i++)
{
sum += X;
X = X * 10 + A;
}
Console.WriteLine(sum); //2468全贴了,楼主该结了吧。
{
int sum = 0;
Hashtable ht = new Hashtable();
ht.Add("A", 1000);
ht.Add("B", 500);
ht.Add("C", 100);
ht.Add("D", 50);
ht.Add("E", 10);
ht.Add("F", 5);
ht.Add("G", 1); for (int i = 0; i < s.Length; i++)
{
sum += (int)ht[s.Substring(i, 1)];
}
return sum; }
private double getSum(double a,double b)
{
double sum=0;
for(double i=b;i>0;i--)
{
sum+=a*i*Math.Pow(10,b-i);
}
return sum;
}
2.这个%2=1 奇数 ;%5=4不是4结尾就是9结尾=9结尾
private int getEgg()
{
for(int i=19;;i+=10)
if(i%3==2&&i%4==3)
return i;
}
3.末尾是8,4倍结尾是2 最后两位是28 从百位开算就可以
private int getMin()
{
for(int i=128;;i+=100)
{
if((i*4)==((i/10)+8 * (int)Math.Pow(10, (int)Math.Log10(i))))
{
return i;
}
}
}
4.搞笑一把,简单的对应 不写了
private int 搞笑()
{
int A=1000,B=500,C=100,D=50,E=5,F=1;
return A+B+C;
}//另清清的办法,很有创意
string chars = "ABCDEFG";
int[] numbers = new int[] { 1000, 500, 100, 50, 5, 1 };
string S = "ABC";
int sum = 0;
foreach(char c in S)
{
int i = chars.IndexOf(c);
if (i < 0) break;
sum += numbers[i];
}
Console.WriteLine(sum); // 1600
那你发表一下高见啊,不要只看不说!