学会用另一种途径去解决编程问题
一、依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及‘#’标记;如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。
参考方法:
public void Foo() { Console.WriteLine("0 *#"); for (int i = 1; i < 100 / 3 + 1; i++) { if (i * 3 <= 100) { if (i % 5 == 0) { Console.WriteLine(i * 3 + " *#"); } else { Console.WriteLine(i * 3 + " *"); } } if (i * 5 <= 100) { if (i % 3 != 0) { Console.WriteLine(i * 5 + " #"); } } } }
public void Foo() { Int32 a, b; for (int i = 0; i < 100;) { a = i % 3; b = i % 5; String str = i.ToString(); if (a == 0) { str += "*"; } if (b == 0) { str += "#"; } Console.WriteLine(str); i += Math.Min(3 - a, 5 - b); } }
2、求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m
|
1
2
3
4
5
6
|
private int sum(int n){ if (n%2==0) return -n/2; else return -n/2+1;} |
3.编写一个数组,长度为100, 然后插入[1,100]的数字 不能重复
看到题目可能会想到的是2个for循环然后插入数据,或是用[1,100]的随机数插入,其实最好的方法是用洗牌算法来实现。网上关于这方面的也很多,我就不班门弄斧了。
链接如下:

浙公网安备 33010602011771号