題目
判斷一個數字是否為ugly number
ugly
number是說一個數字因式分解後只含有2,3,5這些因子,例如說6[2,3],8[2,2,2]都是ugly的,14[2,7]因為含有7,所以不是ugly。
注意: 1 是一個ugly number (LeetCode 202. Happy Number這題可以看到,1也是一個happy number,可知道1是一個醜但是樂觀的數字 XD)
int
input = 100, count;
for
(int
i = 2; i < input; i++)
{
count = i;
bool
check = false;
while
(count % 2 == 0 || count % 3 == 0 || count % 5 == 0)
{
if
(count % 2 == 0) count = count / 2;
if
(count % 3 == 0) count = count / 3;
if
(count % 5 == 0) count = count / 5;
if
(count == 1) check = true;
}
if
(check) Console.WriteLine(i);
}
題目
判斷一個數字是否為happy number。
happy number 定義如下:當一個數的每位數平方後相加,大於1則重複每位數開平方相加的動作,如果最後得到1的話,這個數就是happy number,如果進入無窮迴圈,這個數就不是happy number。
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1
static
void
Main(string[] args)
{
int
input = 19;
int
count = 0;
while
(count != 1)
{
count = 0;
foreach
(char
item in input.ToString())
count += (int)Math.Pow(Convert.ToInt32(item.ToString()),
2);
input = count;
Console.WriteLine(count);
}
}
內容:
給你一個範圍 a 到 b ,請你找出 a 與 b 之間所有奇數的和。
例如:範圍 [3, 9] 中所有奇數的和就是 3 + 5 + 7 + 9 = 24 。
static
void
Main(string[] args)
{
Console.WriteLine("輸入兩個整數");
int
start = Convert.ToInt32(Console.ReadLine());
int
finish = Convert.ToInt32(Console.ReadLine());
int
h1, h2, output = 0;
if
(start % 2 == 1) h1 = start;
else
h1 = start + 1;
if
(finish % 2 == 1) h2 = finish;
else
h2 = finish - 1;
for
(int
i = h1; i <= h2; i+=2)
output = output + i;
Console.WriteLine(output);
}
沒有留言:
張貼留言